home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-27 | 263.6 KB | 7,236 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ===================================================================
-
-
-
- <*> Computer Tyme MarxMenu <*>
-
- Reference Manual
-
- Copyright 1989 - 1991 by Marc Perkel
-
- All Rights Reserved * Version 2.23 * Release Date: 01-22-91
-
- Computer Tyme * 411 North Sherman Suite 300 * Springfield Mo. 65802
-
- (417) 866-1222 voice * (417) 866-1665 bbs
-
- Fax: (417) 866-0135
- CompuServe 76505,1120
-
-
-
- ===================================================================
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 1
- _______________________________________________________________
-
-
-
- Copyright ......................................... 1
- License ........................................... 1
- Warranty .......................................... 1
- Acknowledgments ................................... 2
- Trademarks ........................................ 2
- The MarxMenu Name ................................. 2
- Technical Support ................................. 3
- Overview of the MarxMenu System ................... 3
- -- What MarxMenu Does ............................. 5
- -- For the POWER User ............................. 6
- Installation ...................................... 7
- The MARX.BAT File ................................. 8
- -- DROPTO.BAT ..................................... 10
- -- Support for early DOS versions ................. 11
- -- About Environment Variables .................... 12
- -- Dealing with Multiple DOS Shells ............... 13
- -- MarxMenu and TSR Control ....................... 14
- Network Users ..................................... 14
- -- Novell Users ................................... 15
- ---- The Novell Menu Translator ................... 16
- ---- Logging out under Menu Control ............... 16
- ---- Logging in with MarxMenu ..................... 17
- ------ The CONFIG.SYS File ........................ 17
- ------ The AUTOEXEC.BAT File ...................... 18
- ------ Using a Menu File to Log In ................ 19
- ---- Novell Semaphores ............................ 20
- Running a MarxMenu ................................ 21
- Customizing MarxMenu Sample Files ................. 21
- Menu Analysis ..................................... 22
- Onkey Statements .................................. 23
- Popup Menus ....................................... 23
- The Console ....................................... 24
- Repositioning the Top Window ...................... 25
- Mouse Support ..................................... 25
- Starting off the Easy Way ......................... 26
- About Variables ................................... 26
- -- Real Numbers ................................... 27
- -- Local Variables ................................ 28
- -- Passing Parameters to Procedures ............... 28
- About Constants ................................... 30
- About Arrays ...................................... 30
- About Qualifiers .................................. 31
- Comments in Menu Files ............................ 32
- The MarxMenu Compiler ............................. 33
- Compiler Compatibility ............................ 33
- A word about DOS versions ......................... 34
- A word about BUGS ................................. 34
- Tips From the Master .............................. 35
- -- Computers do Simple Tasks ...................... 35
- -- Complex Tasks are made of Simple Tasks ......... 35
- -- Learning Good Programming Habits ............... 36
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 2
- _______________________________________________________________
-
-
- -- Use Long Names ................................. 36
- -- Use Comments Liberally ......................... 38
- -- Indent Your code ............................... 39
- -- For Duplicate Tasks, Use Procedures ............ 39
- -- Don't Program Yourself into a Corner ........... 40
- A word to Writers and Reviewers ................... 40
- Using MarxHelp .................................... 41
- Printing the Example Files ........................ 42
- MarxMenu Commands ................................. 42
- -- | .............................................. 42
- -- ( .............................................. 43
- -- ) .............................................. 43
- -- * .............................................. 43
- -- + .............................................. 43
- -- - .............................................. 43
- -- / .............................................. 43
- -- < .............................................. 43
- -- <= ............................................. 44
- -- <> ............................................. 44
- -- = .............................................. 44
- -- > .............................................. 44
- -- >= ............................................. 44
- -- %MenuFileName .................................. 44
- -- Abs ............................................ 44
- -- Alias .......................................... 45
- -- And ............................................ 45
- -- Apr ............................................ 45
- -- ArcTan ......................................... 45
- -- Aug ............................................ 45
- -- Bat ............................................ 46
- -- BatFileName .................................... 46
- -- BigShadow ...................................... 46
- -- Black .......................................... 46
- -- BlankMessage ................................... 46
- -- BlankTime ...................................... 46
- -- BlockBox ....................................... 47
- -- Blue ........................................... 47
- -- BoxBorderColor ................................. 47
- -- BoxHeader ...................................... 47
- -- BoxHeaderLeft .................................. 47
- -- BoxHeaderRight ................................. 48
- -- BoxHeaderColor ................................. 48
- -- BoxFooter ...................................... 48
- -- BoxFooterLeft .................................. 48
- -- BoxFooterRight ................................. 49
- -- BoxInsideColor ................................. 49
- -- Brown .......................................... 49
- -- BW40 ........................................... 49
- -- BW80 ........................................... 49
- -- CapsColor ...................................... 49
- -- CapsLock ....................................... 49
- -- Chain .......................................... 50
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 3
- _______________________________________________________________
-
-
- -- Char ........................................... 50
- -- ChDir .......................................... 50
- -- CleanFileName .................................. 50
- -- ClearLine ...................................... 50
- -- ClearScreen .................................... 51
- -- ClearScreenFirst ............................... 51
- -- ClearScreenOnExit .............................. 51
- -- ClockColor ..................................... 51
- -- ClockMode ...................................... 51
- -- ClockPos ....................................... 52
- -- ClosePrinter ................................... 52
- -- ClusterSize .................................... 53
- -- CmdLine ........................................ 53
- -- CO40 ........................................... 53
- -- CO80 ........................................... 53
- -- ColorScreen .................................... 53
- -- Comment ........................................ 54
- -- Console ........................................ 54
- -- ConsoleBorderColor ............................. 54
- -- ConsoleHeaderColor ............................. 54
- -- ConsoleInsideColor ............................. 54
- -- ConsolePos ..................................... 55
- -- Const .......................................... 55
- -- Cos ............................................ 55
- -- CurrentEnvironment ............................. 55
- -- CurrentWindow .................................. 55
- -- Cursor ......................................... 55
- -- CustomBox ...................................... 56
- -- Cyan ........................................... 56
- -- DateString ..................................... 56
- -- Day ............................................ 56
- -- DayOfWeek ...................................... 56
- -- Dec ............................................ 56
- -- Delete ......................................... 57
- -- DelFile ........................................ 57
- -- Dispose ........................................ 58
- -- DosVersion ..................................... 58
- -- DosVersionString ............................... 58
- -- DosWindow ...................................... 58
- -- DoubleLineBox .................................. 58
- -- DrawBox ........................................ 59
- -- Drives ......................................... 59
- -- DvAppNumber .................................... 59
- -- DvFrame ........................................ 59
- -- DvFreeze ....................................... 59
- -- DvHide ......................................... 60
- -- DvKillTask ..................................... 60
- -- DvLastHandle ................................... 60
- -- DvLoaded ....................................... 60
- -- DvMoveWindow ................................... 60
- -- DvMyHandle ..................................... 60
- -- DvPifExecute ................................... 61
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 4
- _______________________________________________________________
-
-
- -- DvResizeWindow ................................. 61
- -- DvSetBottom .................................... 61
- -- DvSetTop ....................................... 61
- -- DvUnFreeze ..................................... 62
- -- DvUnHide ....................................... 62
- -- Else ........................................... 62
- -- EndComment ..................................... 62
- -- Endif .......................................... 62
- -- EndLoop ........................................ 62
- -- EndOfFile ...................................... 63
- -- EndProc ........................................ 63
- -- EndWhile ....................................... 63
- -- EnvFree ........................................ 63
- -- EnvSize ........................................ 63
- -- EraseTopWindow ................................. 63
- -- Execute ........................................ 64
- -- ExistDir ....................................... 64
- -- ExistFile ...................................... 65
- -- ExistOnPath .................................... 65
- -- ExitCode ....................................... 65
- -- ExitMenu ....................................... 65
- -- Exp ............................................ 65
- -- Explode ........................................ 65
- -- ExplodeDelay ................................... 65
- -- False .......................................... 66
- -- Feb ............................................ 66
- -- FileAppend ..................................... 66
- -- FileAssign ..................................... 66
- -- FileAttr ....................................... 66
- -- FileClose ...................................... 66
- -- FileCreate ..................................... 66
- -- FileDate ....................................... 67
- -- FileFlush ...................................... 67
- -- FileLog ........................................ 67
- -- FileOpen ....................................... 67
- -- FilePos ........................................ 67
- -- FileReadln ..................................... 67
- -- FileRename ..................................... 68
- -- FileResult ..................................... 68
- -- FileSeek ....................................... 68
- -- FileSize ....................................... 68
- -- FileWrite ...................................... 68
- -- FileWriteln .................................... 68
- -- FixPath ........................................ 68
- -- Floppies ....................................... 68
- -- ForceExplosion ................................. 69
- -- ForceExtension ................................. 69
- -- Fraction ....................................... 69
- -- FreeDiskSpace .................................. 69
- -- FreeEms ........................................ 69
- -- FreeMemory ..................................... 69
- -- Fri ............................................ 69
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 5
- _______________________________________________________________
-
-
- -- GotoXY ......................................... 70
- -- Green .......................................... 70
- -- Grey ........................................... 70
- -- Hour ........................................... 70
- -- Hundredth ...................................... 70
- -- If ............................................. 70
- -- InactiveBox .................................... 71
- -- InactiveBoxColor ............................... 71
- -- Include ........................................ 71
- -- InputString .................................... 72
- -- Insert ......................................... 72
- -- InsertMode ..................................... 72
- -- Int ............................................ 72
- -- Integer ........................................ 72
- -- InverseColor ................................... 72
- -- Jan ............................................ 73
- -- Jul ............................................ 73
- -- Jun ............................................ 73
- -- Jump ........................................... 73
- -- KbdReady ....................................... 73
- -- KeySave ........................................ 73
- -- KillMusic ...................................... 73
- -- LastKey ........................................ 74
- -- LBlue .......................................... 74
- -- LCyan .......................................... 74
- -- Left ........................................... 74
- -- Length ......................................... 74
- -- LGreen ......................................... 74
- -- LGrey .......................................... 74
- -- LMag ........................................... 74
- -- LMagenta ....................................... 75
- -- Ln ............................................. 75
- -- Loc ............................................ 75
- -- LockWord ....................................... 75
- -- Loop ........................................... 75
- -- LoopIndex ...................................... 76
- -- LoopLimit ...................................... 76
- -- LRed ........................................... 76
- -- Mag ............................................ 76
- -- Magenta ........................................ 76
- -- Mar ............................................ 76
- -- MarxVersion .................................... 76
- -- MasterEnvironment .............................. 77
- -- Max ............................................ 77
- -- May ............................................ 77
- -- Mem ............................................ 77
- -- MemSize ........................................ 77
- -- MemW ........................................... 77
- -- MenuKeyBuffer .................................. 77
- -- Mid ............................................ 78
- -- Min ............................................ 78
- -- MinorDosVersion ................................ 78
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 6
- _______________________________________________________________
-
-
- -- Minute ......................................... 78
- -- Mod ............................................ 78
- -- ModifyPath ..................................... 78
- -- Mon ............................................ 78
- -- Mono ........................................... 79
- -- Month .......................................... 79
- -- Mouse .......................................... 79
- -- MouseHorizontal ................................ 79
- -- MouseVertical .................................. 79
- -- MoveWindow ..................................... 80
- -- MxCmd .......................................... 80
- -- NetworkVersion ................................. 80
- -- NextWord ....................................... 80
- -- No ............................................. 80
- -- NoBoxBorder .................................... 81
- -- NoExit ......................................... 81
- -- Not ............................................ 81
- -- NotesLeft ...................................... 81
- -- NotesPlayed .................................... 81
- -- Nov ............................................ 81
- -- NovCloseSemaphore .............................. 81
- -- NovConnection .................................. 81
- -- NovConsoleOperator ............................. 82
- -- NovDefaultServer ............................... 82
- -- NovGroupMembers ................................ 82
- -- NovInGroup ..................................... 82
- -- NovLogin ....................................... 82
- -- NovLoginName ................................... 82
- -- NovLogout ...................................... 83
- -- NovMapDrive .................................... 83
- -- NovMyLoginName ................................. 83
- -- NovMyPassword .................................. 83
- -- NovOpenSemaphore ............................... 83
- -- NovPreferredServer ............................. 83
- -- NovPrimaryServer ............................... 83
- -- NovReadGroups .................................. 84
- -- NovReadSecurityEquals .......................... 84
- -- NovResult ...................................... 84
- -- NovSemaphoreTimeOut ............................ 84
- -- NovSemaphoreUsers .............................. 84
- -- NovSemaphoreValue .............................. 84
- -- NovServers ..................................... 84
- -- NovSetPreferredServer .......................... 84
- -- NovSignalSemaphore ............................. 85
- -- NovStationAddress .............................. 85
- -- NovUserInGroup ................................. 85
- -- NovWaitOnSemaphore ............................. 85
- -- NumberOfElements ............................... 85
- -- NumLock ........................................ 85
- -- Oct ............................................ 85
- -- Off ............................................ 85
- -- On ............................................. 86
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 7
- _______________________________________________________________
-
-
- -- OnKey .......................................... 86
- -- OnScreenOnly ................................... 86
- -- OpenPrinter .................................... 87
- -- OptionSwitch ................................... 87
- -- Or ............................................. 87
- -- Ord ............................................ 87
- -- Overlay ........................................ 88
- -- ParallelPorts .................................. 88
- -- ParamStr ....................................... 88
- -- ParentEnvironment .............................. 88
- -- Password ....................................... 88
- -- Path ........................................... 89
- -- PauseAfterExecute .............................. 89
- -- Pi ............................................. 89
- -- PickFile ....................................... 89
- -- PickMany ....................................... 90
- -- PickOne ........................................ 90
- -- PickPosition ................................... 90
- -- Port ........................................... 90
- -- Pos ............................................ 90
- -- Power .......................................... 90
- -- Pred ........................................... 91
- -- Print .......................................... 91
- -- PrinterName .................................... 91
- -- Println ........................................ 91
- -- Procedure ...................................... 91
- -- PullMenu ....................................... 92
- -- Qualifier ...................................... 92
- -- Random ......................................... 92
- -- ReadEnv ........................................ 92
- -- ReadEnvironment ................................ 92
- -- ReadKey ........................................ 93
- -- Readln ......................................... 93
- -- ReadTextFile ................................... 93
- -- Real ........................................... 94
- -- Reboot ......................................... 94
- -- Red ............................................ 94
- -- ReleaseDate .................................... 94
- -- Repeat ......................................... 94
- -- ResizeWindow ................................... 95
- -- Return ......................................... 95
- -- ReturnCode ..................................... 95
- -- Right .......................................... 95
- -- RollWindow ..................................... 96
- -- Run ............................................ 96
- -- Sat ............................................ 97
- -- SavePosition ................................... 97
- -- ScreenHeight ................................... 97
- -- ScreenWidth .................................... 97
- -- ScrollLock ..................................... 97
- -- ScrollMove ..................................... 97
- -- Second ......................................... 97
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 8
- _______________________________________________________________
-
-
- -- Security ....................................... 98
- -- SelectPath ..................................... 98
- -- Sep ............................................ 98
- -- SerialPorts .................................... 98
- -- SetArraySize ................................... 98
- -- SetEnv ......................................... 99
- -- SetTopWindow ................................... 99
- -- Shadow ......................................... 99
- -- ShadowColor .................................... 99
- -- ShadowPosition ................................. 100
- -- Shared ......................................... 100
- -- ShellEnvironment ............................... 100
- -- Shl ............................................ 100
- -- Shr ............................................ 100
- -- Sin ............................................ 101
- -- SingleLineBox .................................. 101
- -- SmallShadow .................................... 101
- -- Sound .......................................... 101
- -- Sqr ............................................ 101
- -- StandardIO ..................................... 101
- -- Str ............................................ 101
- -- StuffAKey ...................................... 102
- -- StuffKBD ....................................... 102
- -- StuffKeyboardNow ............................... 102
- -- Succ ........................................... 102
- -- Suggest ........................................ 102
- -- Sun ............................................ 102
- -- TextBackground ................................. 103
- -- TextColor ...................................... 103
- -- TextMode ....................................... 103
- -- TextPos ........................................ 103
- -- TextSeek ....................................... 103
- -- Then ........................................... 103
- -- Thu ............................................ 104
- -- Timer .......................................... 104
- -- TimeString ..................................... 104
- -- Tone ........................................... 104
- -- TotalDiskSpace ................................. 104
- -- TotalEms ....................................... 104
- -- Trim ........................................... 105
- -- True ........................................... 105
- -- Tue ............................................ 105
- -- UniqueFileName ................................. 105
- -- Until .......................................... 105
- -- UpperCase ...................................... 105
- -- UpperCaseOnly .................................. 105
- -- UseArrows ...................................... 106
- -- UseCommand ..................................... 106
- -- UsedDiskSpace .................................. 106
- -- Value .......................................... 107
- -- Var ............................................ 107
- -- VideoMode ...................................... 107
-
-
-
- Computer Tyme MarxMenu * Table of Contents Page 9
- _______________________________________________________________
-
-
- -- VideoPage ...................................... 107
- -- ViewTextFile ................................... 107
- -- Volume ......................................... 107
- -- Wait ........................................... 107
- -- WaitOrKbdReady ................................. 107
- -- Wed ............................................ 107
- -- WhereX ......................................... 108
- -- WhereXAbs ...................................... 108
- -- WhereY ......................................... 108
- -- WhereYAbs ...................................... 108
- -- While .......................................... 108
- -- White .......................................... 108
- -- WindowHeight ................................... 108
- -- WindowWidth .................................... 108
- -- Write .......................................... 109
- -- WriteCenter .................................... 109
- -- Writeln ........................................ 109
- -- WritePort ...................................... 109
- -- WriteTextFile .................................. 109
- -- WriteVertical .................................. 109
- -- Xor ............................................ 109
- -- Year ........................................... 110
- -- Yellow ......................................... 110
- -- Yes ............................................ 110
- Command Categories ................................ 110
- -- Misc Commands .................................. 110
- -- Math Commands .................................. 111
- -- Float Commands ................................. 112
- -- String Commands ................................ 112
- -- Boolean Commands ............................... 113
- -- MonthName Commands ............................. 114
- -- Execution Commands ............................. 114
- -- Display Commands ............................... 114
- -- Color Commands ................................. 116
- -- Video Commands ................................. 116
- -- System Commands ................................ 116
- -- File Commands .................................. 117
- -- Printer Commands ............................... 117
- -- Environment Commands ........................... 118
- -- Time Commands .................................. 118
- -- Array Commands ................................. 118
- -- Memory Commands ................................ 119
- -- DesqView Commands .............................. 119
- -- Conditional Commands ........................... 119
- -- WeekDay Commands ............................... 120
- -- Keyboard Commands .............................. 120
- -- Music Commands ................................. 120
- -- MouseControl Commands .......................... 120
- -- Novell Commands ................................ 121
- -- Variable Commands .............................. 121
- -- String and Character Constants ................. 121
- Conditional Statements ............................ 123
-
-
-
- Computer Tyme MarxMenu Users Manual Page 1
- _______________________________________________________________
-
-
- COPYRIGHT COPYRIGHT COPYRIGHT
-
- This manual is copyrighted material and all rights are reserved.
- MarxMenu is a programming language which describes to the computer what
- it is supposed to do. Even though some of the individual words in
- MarxMenu are used in other programming languages, I claim a copyright on
- the collection of words which make up the MarxMenu language. I therefore
- consider it an infringement of my CopyRight to create a software product
- which uses the MarxMenu language, or translates MarxMenu source code,
- without purchasing a license to do so.
-
- The combinations of definitions of commands in this manual constitute a
- copyrighted work. Any publication which describes a computer language
- for which the MarxMenu command set is a subset is a violation of the
- copyright of this software and this written manual.
-
- In other words, don't try to clone MarxMenu.
-
- LICENSE AGREEMENT: LICENSE AGREEMENT: LICENSE AGREEMENT:
-
- You are licensed to use this program on a single CPU or workstation. If
- you are running on a network, you are required to license a separate
- copy for each workstation or a file server license for each file server.
- If you are running on a multiuser operating system such as Concurrent
- DOS, you are required to license a copy for each workstation. Everyone
- who uses this menu, must license a copy unless several people share the
- same workstation.
-
- This software is licensed and not sold. You may not transfer, sell,
- sublease or rent this software without the written consent of Computer
- Tyme. You are not allowed to distribute MarxMenu in runtime form with
- software you developed unless it is in combination with a paid for copy
- of MarxMenu, or you have made special arrangements with Computer Tyme to
- do so.
-
- Use of this product constitutes your acceptance of the terms and
- conditions of this license and of my copyright and your agreement to
- abide by them.
-
- WARRANTY: WARRANTY: WARRANTY:
-
- The warranty is limited to the diskettes to be machine readable for a
- period of 30 days after purchase. Although we try hard to write perfect
- software that has no bugs, we do not guarantee that. We also do not
- guarantee that this product is fit for every purpose and we are not
- liable for any damages that might occur from use of this product. This
- agreement is governed by the laws of the State of Missouri.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 2
- _______________________________________________________________
-
-
- ACKNOWLEDGMENTS: ACKNOWLEDGMENTS: ACKNOWLEDGMENTS:
-
- I would like to thank the following people for making this product
- possible:
-
- Joe Smith and Kevin Moore for helping write this manual. My wife Vicki
- Perkel for being good to me and helping with revisions and editing.
-
- The Computer Tyme staff for being the best employees in the world.
-
- Borland International for writing Turbo Pascal and keeping it bug free
- and well supported.
-
- TurboPower Software for their very powerful extensions to Turbo Pascal
- and their well written, well supported product.
-
- Semware for TEdit and QEdit, their full screen editors.
-
- All users who actually paid for this product so that we may continue to
- eat.
-
- Those of you who have pointed out bugs and made suggestions to improve
- our product.
-
- TRADEMARKS TRADEMARKS TRADEMARKS
-
- MarxMenu, DOS ToolBox, Directory Master, and The Network Survival Kit
- are trademarks of Computer Tyme.
-
- QEdit and TEdit are trademarks of SemWare.
- Lotus is a registered
- trademark of Lotus Development.
- Wordstar is a registered trademark of MicroPro International.
- Smart Software is a trademark of Informix.
- MS-DOS is a trademark of Microsoft.
- Concurrent DOS and DR-DOS are trademarks of Digital Research.
- Turbo Pascal is a trademark of Borland International.
- OPRO and TPRO are trademarks of TurboPower Software
- Netware and Novell are trademarks of Novell
- DesqView and QEMM are trademarks of QuaterDeck
-
- Created using Turbo Pascal
- Copyright 1983-90 by Borland International
-
- THE MARXMENU NAME THE MARXMENU NAME THE MARXMENU NAME
-
- When I first wrote this program my friends referred to it as Marc's
- Menu. That's where the name MarxMenu came from. It has nothing to do
- with either Carl or Groucho Marx.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 3
- _______________________________________________________________
-
-
- TECHNICAL SUPPORT TECHNICAL SUPPORT TECHNICAL SUPPORT
-
- Technical support for MarxMenu is provided several ways. The first is by
- calling our voice line 1-417-866-1222. We would ask that you not call
- the 800 number as that is for orders and ordering information only.
-
- We have several support staff and will try to answer your questions as
- quickly and efficiently as possible. We at Computer Tyme look at
- technical support as an opportunity to improve our product.
-
- We also have a 24 hour BBS system. This allows users with modems to
- leave messages about support issues. There are several user uploaded
- menus here and it serves as a forum for MarxMenu users to share ideas
- and techniques.
-
- Our BBS number is 1-417-866-1665. Supports 2400 baud but is 1200 baud
- compatible. Use 8 bits, no parity, 1 stop bit (8N1). You will also need
- to set your terminal emulation mode to ANSI or VT100.
-
- On our BBS are additional sample menu files that other MarxMenu users
- like yourself have uploaded. We encourage you to share your work with
- others so that yet more MarxMenu users can benefit.
-
- We are also available on Compuserve ID 76505,1120.
-
- We also offer a Priority Support Service which includes regular upgrades
- sent to you automatically as we come out with them. This doesn't mean
- every version of MarxMenu, but every so often after making several
- improvements and the product is at a stable point. The Priority Support
- Service includes special access to our support BBS.
-
- This service is for the very fierce MarxMenu user who has to have the
- "Latest and Greatest" all the time.
-
- OVERVIEW OF THE MARXMENU SYSTEM OVERVIEW OF THE MARXMENU SYSTEM OVERVIEW OF THE MARXMENU SYSTEM
-
- MarxMenu is not just another fill-in-the-blank menu system. It is a menu
- programming language and job control language. It gives you total
- freedom to do whatever you want, but total freedom has a price. You will
- need to know and understand how to use a text editor. This isn't
- difficult if you are familiar with using a word processor. And you will
- need to have a basic understanding of DOS and how batch files work.
-
- With a text editor you can create a menu file which is a text file with
- an MNU extension. Or, you can copy and then modify the text file
- SAMPLE2.MNU which displays the menus you see when MarxMenu is executed.
- This text file contains a set of instructions for MarxMenu to follow.
- MarxMenu will then read your menu file and run the instructions.
-
- A menu file might look as follows:
-
-
-
- Computer Tyme MarxMenu Users Manual Page 4
- _______________________________________________________________
-
-
- DrawBox 31 5 18 4
- UseArrows
- Writeln ' W - WordStar'
- Write ' L - Lotus'
-
- OnKey 'W'
- CD\WORDSTAR
- WS
-
- OnKey 'L'
- CD\LOTUS
- LOTUS
-
- The above example is a fully working MarxMenu program. Just because
- MarxMenu has 500 commands doesn't mean you have to use them all. The
- reason there are so many commands is that people keep calling me up and
- asking if I can add such and such. Most of the time I do. That's why the
- manual gets behind sometimes.
-
- The instructions must be from the vocabulary of words that MarxMenu
- understands. These words make up the command list included in this
- manual. They must be used precisely as the instructions in this manual
- tell you to use them. This process is called programming.
-
- I know that for many of you the word programming is a scary word. Put
- your fears at ease, MarxMenu is one of the easiest programming languages
- there is. It is a little harder than writing batch files and a lot
- easier than Basic. It requires a working knowledge of DOS and an
- understanding of writing batch files as explained in your DOS manual.
-
- The point that I want to make is, do not let the fear of learning and
- the fear of programming prevent you from learning to write your own
- menus. If you have never touched a computer before and are sitting down
- with your first PC, read the manuals first. Become familiar with the
- MS-DOS operating system. Learn how to write batch files, make
- subdirectories, copy files, format floppies, etc. If you don't
- understand something, ask a friend. All of us had to learn sometime, and
- there is no such thing as a stupid question.
-
- After you have mastered some of the basic concepts of the operating
- system, then learn either TEDIT or MarxEdit. These are text editors
- included with your MarxMenu program. Use it to write your own batch
- files. Then attempt to write your own menus by modifying the sample
- menus (files with a MNU extension) which come with MarxMenu. Print these
- menus and study them, referring to this manual for help on command
- definitions. You do not have to completely understand them to start
- making changes. Programming is a trial and error process.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 5
- _______________________________________________________________
-
-
- A computer, like a musical instrument, is only as good as the player.
- The more you learn about it the more you'll find it can do. In fact, a
- computer can help raise your effective IQ as you learn the disciplines
- of logic and reason. As a hammer is a tool of the hand, enhancing your
- physical strength, a computer is a tool of the mind, enhancing your
- mental strength. You will learn that as you develop a relationship with
- your computer, that you will be able to process information in ways you
- never dreamed.
-
- MarxMenu is an excellent learning tool. By the time you become
- proficient with the menu language, you will have learned the fundamental
- concepts behind the MS-DOS operating system. You will find yourself
- going back and forth between this manual and the DOS manual that came
- with your computer. When you master the language, you will have enough
- computing skills to be a real resource in your office environment. In
- this day and age, knowing how to "make the damn things work" is a key in
- moving up the corporate ladder.
-
- If you have sufficient excess income to afford a personal computer, or
- are in a job that provides you with a workstation, you are smart enough
- to learn this program. All it requires is that you take the time. You
- can do it. It is worth your time, and you will make up the time spent in
- the results you'll get. Good luck and enjoy.
-
- WHAT MARXMENU DOES WHAT MARXMENU DOES WHAT MARXMENU DOES
-
- So with hundreds of menus on the market, what makes this one so great.
- Well, let me tell you about it. MarxMenu is a menu language rather than
- a fill in the blank kind of menu. MarxMenu gives you total control of
- your computer system.
-
- It is also a job control language allowing you to program processes too
- difficult to do with batch files. MarxMenu can be used to do anything
- from overnight batch job processing to generating control scripts for
- mainframes.
-
- Because of it's simple syntax, MarxMenu makes an excellent teaching
- language putting more programming power in the hands of the student
- programmer than any other programming language.
-
- As a menu, MarxMenu can be as simple or as complex as you want. If you
- want simple, nothing is easier. If you want POWER, nothing is more
- powerful. If you want to get really weird, MarxMenu can do really wierd.
-
- So if you want the menu to remind you to go vote, MarxMenu knows when
- the first Teusday after the first Monday in November on even years is.
- If you are into Astrology, and you want certain menu items to appear
- only if Mars is in the right place in the sky, MarxMenu can calculate
- the orbit of Mars for you.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 6
- _______________________________________________________________
-
-
- MarxMenu can be used to program games, write running software demos and
- online tutorial programs. It can be used to write testing programs. It
- can be used to write custom software installation programs. It can be
- used to assist other applications to make other software more network
- friendly.
-
- MarxMenu has a compiler for high speed execution. Even very large menus
- come up in under 4 seconds on a 4.77mhz IBM XT on an ArcNet lan. The
- compiler also provides security in that you can keep your source files
- separate so no one can alter the menu files.
-
- FOR THE POWER USER: FOR THE POWER USER: FOR THE POWER USER:
-
- I originally wrote MarxMenu on a dare. I said that in one afternoon I
- could write a better menu system than one of the most popular menu
- systems. I met the challenge and then found that there is a lot of
- demand for power in a menu system. Friends started asking for this and
- that feature and this program has gone far beyond what I ever intended.
-
- The demand for more features has outpaced my ability to keep up with the
- documentation standards that I expect from other software packages that
- I buy. Please bear with me. If you find any errors in the manual, or
- bugs in the program, please let me know and I'll try to correct any
- problems.
-
- I also appreciate your suggestions for improvements. Many of the
- features included are a result of requests you have made. Many of you
- are using this program in ways I never dreamed.
-
- The main design philosophy behind this product is POWER and Flexibility.
- I am also committed to keeping the source code as readable as possible.
- I am loyal to the concept of using NO RAM. None of MarxMenu stays
- resident. Because of this I can claim that if you are having some kind
- of problem, it's not the fault of MarxMenu being resident, because
- MarxMenu is not resident. Also, using NO RAM allows loading of TSR's
- (memory resident programs) from the menu.
-
- For computer consultants, MarxMenu is an excellent way to make money.
- You can provide your clients with professional looking menu systems
- customized (by you) to fit their needs. You can provide complex menu
- structures not possible with any other menu system. And, because
- MarxMenu uses NO RAM, you don't have to worry about conflicts between
- MarxMenu and any other software product.
-
- Although MarxMenu is copyrighted, the program is not copy protected.
- There is nothing to prevent you from making hot copies and giving them
- away to all your clients. I would like to point out that when you give
- away something you should be selling you lose respect from your clients
- and attract those who expect you to work for free. You will make more
- money if you play by the rules. My best and most profitable clients use
- no hot software whatsoever. Think about it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 7
- _______________________________________________________________
-
-
- INSTALLATION INSTALLATION INSTALLATION
-
- You may wish to copy the MarxMenu system into it's own subdirectory
- called MARX to keep the files better organized. However, this is not
- necessary. Copy all the disks that come with MarxMenu into a directory
- on your hard disk or network.
-
- If you do put the menu system in a subdirectory, it must be path
- accessible. That is, you must have a path statement in your autoexec.bat
- file that includes the directory where the menu system resides. A
- typical path statement might look like this:
-
- PATH=C:\;C:\DOS;C:\MARX;
-
- Copy all your Computer Tyme disks to the hard disk or network and type
- MARXINST. When it gets done, you can run some of the sample menus by
- typing MARX <menu>.
-
- -------------------- V E R Y * I M P O R T A N T ----------------------
-
- MarxMenu requires up to 100 bytes of free environment space. It won't
- run properly without it. The way you get more environment space is to
- add a SHELL command to your CONFIG.SYS file.
-
- SHELL=COMMAND.COM /P /E:nnn
-
- Where NNN is the number of bytes for the environment to reserve. Note
- that if you are running DOS that is earlier than 3.3 then NNN is the
- number of 16 byte blocks to allocate for the environment.
-
- For DOS 3.3 or later:
-
- SHELL=COMMAND.COM /P /E:400
-
- For DOS earlier than 3.3:
-
- SHELL=COMMAND.COM /P /E:25
-
- If MarxMenu gives you an environment space error, this is where you go
- to fix it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 8
- _______________________________________________________________
-
-
- THE MARX.BAT FILE THE MARX.BAT FILE THE MARX.BAT FILE
-
- In order for MarxMenu to work, a MARX.BAT file must be created. This is
- done by typing MARXINST. The first thing that MARXINST does is unpack
- the compressed menu files and documentation files. Then it will bring up
- the installation menu.
-
- The MARX.BAT file looks like this:
-
- @ECHO OFF
- C:\MARX\MARXMENU.EXE %1 C:\MARX
- %MXCMD%
- %0 %1
-
- The first line of MARX.BAT turns the echo off. This may be changed to
- ECHO ON for debugging purposes. PAUSE commands can be inserted to debug
- a menu. This allows you to see what's going on.
-
- The second line of MARX.BAT runs MARXMENU.EXE. The second parameter %1
- is the name of the menu file to run. The third parameter C:\MARX tells
- MarxMenu to use the C:\MARX directory for creating temporary batch
- files. This can be changed to any other directory you prefer.
-
- When the user selects a program to run, MarxMenu writes a temporary
- batch file which contains within it the commands to run the program.
- Then MarxMenu writes a command to the environment variable MXCMD to
- execute the temporary batch file and exits.
-
- What it writes depends on the version of DOS you are running. If you are
- running DOS 3.3 or later, MXCMD is set to CALL <batch>. If you are
- running an earlier version of DOS then MXCMD is set to COMMAND /C
- <batch>.
-
- Whatever command is written to MXCMD is executed in line 3. This usually
- calls the temporary batch file that MarxMenu created. This executes your
- program and returns to MARX.BAT.
-
- Line four jumps back to the beginning of the batch file and starts all
- over. %0 is MARX.BAT and %1 is the name of the menu you are running.
-
- MARX.BAT
- -------- +-------MarxMenu Creates--+
- +----> @ECHO OFF | |
- | C:\MARX\MARXMENU.EXE %1 C:\MARX |
- | %MXCMD% ->---+ +-> $MX00000.BAT
- | +--> %0 %1 --+ | ------------
- | | | +---------------------------> CD\WORDSTAR
- +-|------<-----+ WS --+
- | |
- +--------------------------------------------------<-+
-
-
-
- Computer Tyme MarxMenu Users Manual Page 9
- _______________________________________________________________
-
-
- Note: MarxMenu sets MXCMD = CALL $MX00000.BAT
-
- When you exit the menu system. MarxMenu sets MXCMD to MXSTOP. This jumps
- to a batch file called MXSTOP which gets you out of MARX.BAT. MXSTOP.BAT
- can be modified to control what happens when MarxMenu is exited.
-
- The default MXSTOP.BAT file is as follows.
-
- SET MXCMD=
- SET KSV=
- REM You can control menu exiting with this file!
-
- Note that by adding your own commands to MXSTOP that you can control
- what happens when you exit. You could loop right back to the menu if you
- want. Or, you could force a controlled network logoff.
-
- I strongly recommend upgrading to DOS 3.3 or later whenever it is
- possible to do so.
-
- The name of the temporary batch file is as follows:
-
- $MX00000.BAT
- ||||
- Shells--------+|++--------Network Station (Hex)
- Task Number
-
- The 5 zeros are used for single user versions of MarxMenu. On a network
- they change as follows:
-
- The last 2 zeros is the station number on the network. This is either
- read directly from the shell, if you are using Novell, or from the
- environment variable STATION if you are on another network. The third
- zero is the task number if you are running DesqView, or from an
- environment variable TASK if you are running some other multitasker.
-
- The second zero is replaced by one less than the number of COMMAND.COM
- shells you are running. This way if you run COMMAND.COM under MarxMenu
- and then run MarxMenu again under that, it doesn't get lost when you
- exit.
-
- The first zero is for future expansion. In case something comes along
- that I haven't thought of.
-
- If you want to do custom tricks, MarxMenu has an internal variable
- called MxCmd. Setting this to your own command overrides the way
- MarxMenu would normally use it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 10
- _______________________________________________________________
-
-
- But now you ask, does MarxMenu leave a trail of batch files that will
- clutter up my drive or network? Not at all. MarxMenu keeps using the
- same names over and over again. If a user crashed his system, it might
- leave a batch file but it would be overwritten the next time he used the
- menu. Not only that, all batch files can be kept in the same directory
- so cleaning up is as simple as typing DEL $MX*.BAT!
-
- By writing to the MxCmd variable you can run an EXE or COM file directly
- without having to create another batch file.
-
- Example:
- OnKey 'M'
- |MxCmd = 'RAMMAP'
-
- This runs RamMap directly from the MARX.BAT file.
-
- Another trick is to run another batch file without the CALL statement.
- This creates a one way jump to another batch file.
-
- Another debugging feature. You can change the first line of the MARX.BAT
- file as follows:
-
- @ECHO %MXECHO%
-
- This allows you to turn the echo on for debugging purposes by typing:
-
- SET MXECHO=ON
-
- This way you don't have to change the MARX.BAT file to debug. If you use
- this, make sure that MXECHO is set to either ON or OFF.
-
- DROPTO.BAT DROPTO.BAT DROPTO.BAT
-
- If you are going to run a shell like COMMAND.COM under MarxMenu it is
- sometimes better to use DROPTO.BAT which is created during the install
- process. DropTo allows you to jump from the temporary batch file that
- MarxMenu creates to DropTo, which deletes the temporary batch file and
- executes the rest of the command line.
-
- Usage: DROPTO %0 COMMAND.COM
-
- If you are using DropTo inside a MarxMenu, the %0 is automatically added
- for you.
-
- Example:
- OnKey 'C'
- DropTo COMMAND.COM
-
-
-
- Computer Tyme MarxMenu Users Manual Page 11
- _______________________________________________________________
-
-
- DROPTO.BAT
- ----------
- DEL %1
- SET KSV=
- SET MXCMD=
- %2 %3 %4 %5 %6 %7 %8 %9
-
- Here's how it works:
-
- $MX00000.BAT <------deletes this file--------+
- ------------ |
- DROPTO %0 COMMAND.COM ------------> DEL %1 >-+
- SET KSV=
- SET MXCMD=
- %2 executes COMMAND.COM--> %2 %3 %4 %5 %6 %7 %8 %9
-
- The advantages are that the temporary batch file is eliminated so if the
- user never returns to the menu, it leaves no temporary file to clutter
- up the drive. Also, DROPTO.BAT becomes the pending batch file that is
- running rather than the temporary file.
-
- SUPPORT FOR EARLY DOS VERSIONS SUPPORT FOR EARLY DOS VERSIONS SUPPORT FOR EARLY DOS VERSIONS
-
- There are two main differences between DOS versions earlier than 3.3 and
- versions 3.3 and above. One is the CALL command for batch files and the
- other is the way you specify environment space when using COMMAND.COM.
-
- I have enhanced the support for early DOS versions (3.0, 3.1, 3.2).
- MarxMenu executes COMMAND /C /E:nn (batchfile) >NUL to have one batch
- file call another. The first two lines of the batch files created are as
- follows:
-
- ECHO OFF
- CTTY CON
- ....
-
- This eliminates the ECHO OFF from being seen.
-
- Also whenever possible, when MarxMenu loads up a copy of COMMAND.COM, it
- adds the /E:nnn command to set the environment space to the same as that
- of the Master Environment. In versions earlier then 3.3 it is translated
- to paragraphs instead of bytes.
-
- One thing to note in early versions of DOS. If you run a batch file
- under COMMAND /C and your batch file has SET commands to set environment
- variables, the changes you make will disappear as soon as you get back
- to MARX.BAT. Why? Because you loaded another COMMAND.COM and the SET
- commands set its environment. When this COMMAND.COM ends, it takes its
- environment with it. Under DOS 3.3 or later, which uses CALL instead of
- another shell, the SET commands live. (Yet another reason to upgrade).
-
-
-
- Computer Tyme MarxMenu Users Manual Page 12
- _______________________________________________________________
-
-
- ABOUT ENVIRONMENT VARIABLES ABOUT ENVIRONMENT VARIABLES ABOUT ENVIRONMENT VARIABLES
-
- I've been talking a lot about environment variables. Some of you out
- there in novice land don't know what an environment variable is. Many
- others don't know the intricate secrets handed down from the Great DOS
- Masters who know all the intricate undocumented features of DOS.
-
- Your DOS shell, COMMAND.COM owns an area of memory called the Master
- Environment. It contains strings in the form Name=Value. Included among
- those strings are your COMSPEC and your PATH. Your COMSPEC tells DOS and
- other programs where to find COMMAND.COM. Your PATH tells DOS and other
- programs what directories to search when loading programs. Another
- common environment variable is your PROMPT. This controls what your DOS
- prompt will look like.
-
- Environment variables are commonly set using the SET command. This is
- done by typing SET NAME=VALUE.
-
- Example:
- SET COLOR=BLUE
-
- So what does this actually do? Actually nothing, unless you have a
- program that reads the environment variables that is looking for one
- called COLOR. This way, environment variables can be used to leave
- messages to other programs and control how they behave.
-
- Besides leaving messages, environment variables can be accessed by batch
- files. If you use %NAME% in a batch file, DOS will substitute the VALUE
- of the variable for the %NAME% expression. And this feature is important
- to MarxMenu's operation.
-
- MarxMenu uses an environment variable called MXCMD. In the MARX.BAT file
- the third line is %MXCMD%. So MarxMenu controls MARX.BAT by writing
- values to MXCMD.
-
- In order to do this, there must be enough room in the environment for
- the command to fit. That is why you need to make sure that you have a
- SHELL command in your CONFIG.SYS to set space for MarxMenu to use.
-
- Now so far I've only talked about the Master Environment. That's the one
- that the first COMMAND.COM owns. Each program that is loaded, including
- TSRs, gets a copy of the Master Environment in its own environment. This
- is called the CURRENT Environment.
-
- One interesting feature of the Current Environment is that it is smaller
- than the Master Environment. DOS only creates enough space to hold a
- copy of the space used in the Master Environment and a little more to
- store the name of the program that is running.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 13
- _______________________________________________________________
-
-
- If one program executes another program, the environment of the parent
- program is called the Parent Environment. You will probable never need
- to deal with the Parent Environment but MarxMenu can access it in case
- you do.
-
- Another environment is the SHELL ENVIRONMENT. This is the one that THEY
- never talk about. The one you'll never read about in any books. The one
- you'll never learn about in any DOS classes. This is the one your
- parents never mentioned.
-
- The Shell Environment is normally the same as the Master Environment.
- But, if you are running more that one level of COMMAND.COM, the Shell
- Environment is the environment of the last COMMAND.COM in memory. This
- environment is the most important environment to MarxMenu.
-
- So why load up two or more COMMAND.COMs? There are several cases where
- this could occur. One case is when you want to run COMMAND.COM as a
- program under MarxMenu. This way you can type EXIT to get back to the
- menu. If you do this and then run MarxMenu again, you have two levels of
- COMMAND.COM. In this case, the first COMMAND.COM is the Master
- Environment and the second COMMAND.COM is the Shell Environment.
-
- Another place where more than one COMMAND.COM is used is if you are
- running Microsoft Windows 3 or DesqView. Both of these programs are able
- to run a DOS shell. When you do, this is a second level of COMMAND.COM.
-
- What is important is that SET commands and %NAME% commands in batch
- files deal only with the Shell Environment and not the Master
- Environment.
-
- DEALING WITH MULTIPLE DOS SHELLS DEALING WITH MULTIPLE DOS SHELLS DEALING WITH MULTIPLE DOS SHELLS
-
- If you are running more than one level of COMMAND.COM (Shelling from
- Windows, DesqView, Word Perfect Office) and having environment space
- problems here's a trick. Before you load up your fancy shells, put this
- in a batch file like your AUTOEXEC.BAT.
-
- SET MXCMD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- This variable will be trashed by MarxMenu thus freeing up the
- environment space it occupied. This will not only allow MarxMenu to run
- but may solve problems with other programs you are running that need
- environment space as well.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 14
- _______________________________________________________________
-
-
- MARXMENU AND TSR CONTROL MARXMENU AND TSR CONTROL MARXMENU AND TSR CONTROL
-
- MarxMenu along with the TSR utilities that come with MarxMenu, can load
- and unload TSRs under menu control. This is handy when you want to run a
- big application and need to free up some memory to do it. Since MarxMenu
- is a 0k menu system, unloading TSRs is possible but it has it's tricks.
-
- The problem you run into is that when one batch file calls another batch
- file, the way MarxMenu normally runs, DOS creates a small batch file
- control block in memory. This control block stays in memory after the
- TSR is released creating a region of trapped memory. Although this
- memory is freed, it isn't usable.
-
- The way around it is to jump to the batch file that releases memory
- instead of calling it. This is done by setting MXCMD to the name of the
- batch file you want to run. The only problem is that when you jump to
- the other batch file, it won't automatically return to MARX.BAT. You
- must therefore end your batch file with a command bringing you back to
- MARX.BAT.
-
- MEMHOG.BAT
- -----------
- Rem UnLoad SideKick
- RELEASE SK
- CD\MEMHOG
- MEMHOG
- MARK SK
- SK
- MARX MAIN
-
- In your MAIN menu:
-
- OnKey 'H'
- |MxCmd = MEMHOG
-
- See the documentation file on the TSR utilities disk for more
- information on how to use MARK and RELEASE.
-
- NETWORK USERS: NETWORK USERS: NETWORK USERS:
-
- The main thing you have to worry about on a network is to make sure that
- when MarxMenu creates a temporary batch file, that it is a different one
- for each user on the network.
-
- This is handled several ways. If you are on a Novell network, MarxMenu
- uses your station number as part of the name for the temporary batch
- file. If you are not using Novell, then you will need to set an
- environment variable STATION for each workstation on your net. Each one
- has to be a different number.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 15
- _______________________________________________________________
-
-
- Example:
- SET STATION=5
-
- You must ensure that the user has enough access rights to create
- temporary batch files in the directory selected for temporary batch
- files. One solution is to create a batch file directory and give all the
- users full access rights to it.
-
- MarxMenu has been run on about every DOS based network that exists. If
- the network runs at all it will generally run MarxMenu. Among the
- networks that come to mind are Novell, Lantastic, Banyan, 3COM, Lan
- Manager, IBM, DECNET, ConCurrent DOS, and SCO VPIX. MarxMenu is running
- on networks as small as two users to as large as 20,000 users. In fact,
- the bigger your network, the more you need MarxMenu.
-
- NOVELL USERS: NOVELL USERS: NOVELL USERS:
-
- Novell is the most popular network on the market. We have added many
- enhancements for Novell networks to support things like logging in and
- logging out, drive mapping, group support, software metering, and status
- information.
-
- Although Novell is a high quality solid product it has its own
- "Personality" and many undocumented features otherwise known as bugs.
- Most people who are having trouble with MarxMenu under Novell are really
- having trouble with Novell. Quite frankly, we do more Novell support
- than we do MarxMenu support.
-
- Having said that, I own two Novell networks. One at the lab and one at
- home and I love my networks. But, I have spent hundreds of hours
- learning all the tricks. And to save you a phone call, and me a lot of
- time, I've decided to share these tricks here in my manual.
-
- Some of these tricks are from the Great Network Gurus themselves who are
- so advanced that they no longer exist in physical form. These people
- live in another dimension of total mental existence and can only be
- reached my modem. Some of them hang out on Compuserve.
-
- I therefore strongly recommend that if you are a serious Novell user
- that you join Compuserve and hang out in the Novell section. And just
- because not everyone on Compuserve is a real person doesn't mean that
- you should feel uncomfortable asking them any question about your
- network that you need to ask.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 16
- _______________________________________________________________
-
-
- THE NOVELL MENU TRANSLATOR THE NOVELL MENU TRANSLATOR THE NOVELL MENU TRANSLATOR
-
- One nice bonus with Novell networks is that MarxMenu can translate your
- Novell menus to MarxMenu. This saves you the time of having to recode
- your system. What you do is type:
-
- MARXMENU NOVTRANS <menu>
-
- This translates your Novell MNU file to a MarxMenu MRX file. Your MNU
- file is unchanged. MarxMenu creates a TMP file containing the source
- code for the MRX file. Once you are satisfied with the MarxMenu file,
- you just delete the MNU file and rename the TMP file to MNU and forget
- that you ever had a Novell menu.
-
- Once the menu is translated you run it by typing MARX <menu> instead of
- MENU <menu>. MarxMenu can run Novell's menu better than Novell runs
- their own.
-
- LOGGING OUT UNDER MENU CONTROL LOGGING OUT UNDER MENU CONTROL LOGGING OUT UNDER MENU CONTROL
-
- Logging out under menu control is one of the trickiest things to do. The
- problem is that as soon as LOGOUT executes, you no longer have access to
- the network. This means that if you are in a batch file, you are going
- to get a "Missing Batch File" error, unless the batch file is in the
- \LOGIN directory.
-
- Another problem with logging out is making sure that your COMSPEC is
- pointing to a COMMAND.COM that is either on the local drive or in the
- \LOGIN directory. Otherwise you will get a "Cannot load COMMAND.COM"
- error.
-
- Another problem that you need to deal with is that your PATH command
- needs to be changed so that it doesn't refer to mapped drives that are
- no longer accessable.
-
- What you need to do is create a batch file in the \LOGIN directory
- called OFF.BAT.
-
- Example: F:\LOGIN\OFF.BAT
-
- CD\LOGIN
- SET COMSPEC=C:\COMMAND.COM
- LOGOUT
- C:
- PATH=C:\DOS
-
- Another way to logout under MarxMenu is to stuff the LOGOUT command into
- the keyboard buffer and exit MarxMenu.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 17
- _______________________________________________________________
-
-
- Example:
- OnKey ESC
- |StuffKBD 'LOGOUT' + CR
- |ExitMenu
-
- This is the cleanest way when possible.
-
- Another logout trick is to use the LOGOFF utility from the Computer Tyme
- Network Survival Kit. This program automatically fixes your PATH and
- COMSPEC after the logoff occurs.
-
- LOGGING IN WITH MARXMENU LOGGING IN WITH MARXMENU LOGGING IN WITH MARXMENU
-
- If there is any one thing that's trickier than logging out of a Novell
- network, is logging in. I have spent MANY hours struggling with Novell
- trying to get it right and I have finally figured it out. Much of this
- comes from the Novell gurus who hang out on Compuserve and know
- everything there is to know about Novell.
-
- The first thing you need to do is make up your mind that you are going
- to do it right. The technique here might seem somewhat cumbersome, but
- it works well and will keep you out of trouble.
-
- MarxMenu has the ability to log you into a network, map your drives, and
- set your environment strings without having to touch a Novell utility to
- do so. MarxMenu can completely eliminate the need for Novell login
- scripts. The advantage to using MarxMenu in the login is that you have
- the power of 500 commands to work with instead of just 25 or so.
-
- THE CONFIG.SYS FILE THE CONFIG.SYS FILE THE CONFIG.SYS FILE
-
- The place to start is the place where DOS start when DOS boots. You MUST
- create a CONFIG.SYS file on your boot disk. The CONFIG.SYS tells DOS how
- many files and buffers to create, what device drivers to load, and the
- size of the Master Environment.
-
- Unless you are using special drivers, BUFFERS=40 and FILES=40 is a good
- place to start. STACKS 0,0 will gain you an extra 3k of ram. But the
- most important command is the shell statement. A CONFIG.SYS file might
- look like this:
-
- SHELL=COMMAND.COM /P /E:400
- BUFFERS=40
- FILES=40
- DEVICE=ANSI.SYS
-
- This sets up enough environment space to allow MarxMenu and DOS SET
- commands to work properly. You will also want to load any other device
- drivers like QEMM386.SYS or 386MAX.SYS to take advantage of other
- features of your computer. If you don't know about CONFIG.SYS files,
- read the DOS manual.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 18
- _______________________________________________________________
-
-
- THE AUTOEXEC.BAT FILE THE AUTOEXEC.BAT FILE THE AUTOEXEC.BAT FILE
-
- After the CONFIG.SYS is loaded the AUTOEXEC.BAT runs next. Here you load
- up your TSRs and network drivers. There are some important tricks to be
- used here as well.
-
- First of all, never load your network shell from your AUTOEXEC.BAT file.
- Always have it branch to another batch file called LOADNET to load the
- network shell. Use the autoexec.bat only to load special TSRs and the
- IPX. An autoexec.bat might look like this:
-
- @Echo Off
- Cls
- IPX
- SET NET=NET4.COM
- SET COMSPEC=X:COMMAND.COM
- LOADNET
-
- The two SET commands are very important. The first sets a variable
- called NET to NET4.COM. This will be used later in LOADNET.BAT. By using
- this variable, you can have users running many different versions of DOS
- and still use the same LOADNET.BAT file. You could also use a command
- SET NET=LOADHI EMSNET4.EXE to take advantage of advanced memory manager
- software.
-
- Another trick is to run BESTNET from the Network Survival Kit. BestNet
- will automatically pick the best network shell and set the NET
- environment variable for you. You would use the command BESTNET instead
- of SET NET=NET4.COM in the AUTOEXEC.BAT file.
-
- The SET COMSPEC=X:COMMAND.COM is important if you are booting off of
- either a floppy drive or a diskless workstation. This assumes that X:
- will eventually be mapped to a directory on the network that has a valid
- COMMAND.COM in it.
-
- It is important to set the comspec BEFORE loading your NET shell. This
- prevents a problem where Netware wants to go back to the boot disk even
- after you change the comspec. I don't know why this works but it does.
- Trust Me. If you are going to use COMMAND.COM on drive C:, ignore this
- paragraph.
-
- Now we go to the LOADNET.BAT file.
-
- @Echo Off
- %NET%
- SET NET=
- F:
- STARTUP
-
-
-
- Computer Tyme MarxMenu Users Manual Page 19
- _______________________________________________________________
-
-
- The big concept behind LOADNET is that this file is NEVER CHANGED. You
- put in on all your workstations and in the LOGIN directory and it is
- EXACTLY THE SAME for every computer in your network. Any changes to
- individual computers are made in the AUTOEXEC.BAT file.
-
- So why is this important. Because if you are running diskless
- workstations what happens is that while you are booting you have a
- mythical drive A:. As soon as your NET shell loads this drive
- dissappears out from under you and you end up in F:\LOGIN. If you are
- running LOADNET.BAT when this happens you drop out of A:LOADNET.BAT and
- land in the middle of F:\LOADNET.BAT. And if your LOADNET.BAT is exactly
- the same file as the LOADNET.BAT in the \LOGIN directory, you take off
- running like the transition never occured.
-
- Even if you are not running on diskless workstations now, you might go
- to it someday. It also creates good programming habits and helps you
- boot up cleanly.
-
- Lets see what LOADNET does. The first line is @ECHO OFF, that's easy.
- The second line %NET% executes the network shell that you specified with
- the SET NET=NET4 command. This actually loads the network shell. The
- third line clears the NET variable freeing up space for other
- environment variables. F: switches you to drive F if you aren't there
- already. And finally STARTUP is the name of yet another batch file you
- jump to.
-
- The STARTUP.BAT file controls what happens AFTER LOADNET runs. This file
- can be freely changed so that LOADNET.BAT can stay the same. This lets
- you modify what happens AFTER the network shell is loaded.
-
- If you are using Novell's login program STARTUP.BAT might look like
- this:
-
- @Echo Off
- LOGIN
-
- USING A MENU FILE TO LOG IN USING A MENU FILE TO LOG IN USING A MENU FILE TO LOG IN
-
- If you are going to use MarxMenu to log in instead of Novell's
- utilities, you will want to print out the sample file LOGIN.MNU on your
- MarxMenu disk and study it. Your STARTUP.BAT file might look like this:
-
- @Echo Off
- SET BOOTUP=LOGIN
- MarxMenu Login
- %BOOTUP%
-
- If MarxMenu works correctly, it will change the environment variable
- %BOOTUP% to point to a file that it creates. If for some reason it fails
- (you make a mistake in the login), it will execute Novell's login and
- let you get in and fix it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 20
- _______________________________________________________________
-
-
- One word of caution. After modifing this menu, always run MARXCOMP LOGIN
- to compile it. Otherwise, if you boot up into it you won't have enough
- access rights to recompile automatically.
-
- NOVELL SEMAPHORES NOVELL SEMAPHORES NOVELL SEMAPHORES
-
- For a detailed explanation of Novell Semaphores, read the Novell
- manuals. What I've done is to export these functions to MarxMenu. I have
- implemented them slightly different than Novell did and have hidden all
- the nasties from you such as semaphore handles. All semaphores are
- accessed by name only.
-
- Here's a brief overview of semaphores. Semaphores are names of shared
- resources that the server keeps track of. Semaphores have three
- properties. They have a name, value and number of users. The name can be
- anything up to 48 characters long. The value is a number from -128 to
- 127. If the value is less than 0, the resource the semaphore represents
- is considered used up.
-
- By opening a semaphore, you increase the number of users by one. By
- closing it, you decrease the number by one. If a single user opens a
- semaphore many times, it is only counted as one. When you log out, your
- semaphores are closed. This is also true if you turn your computer off,
- but it takes 15 minutes for the server to give up on you.
-
- The first user to open a semaphore creates it. The last user to close a
- semaphore deletes it. When a semaphore is created, a value can be
- assigned. If a semaphore is opened that already exists, the initial
- value is ignored.
-
- When NovWaitOnSemaphore is called by any user, the value is decremented.
- If the value is not below zero, NovWaitOnSemaphore returns true.
- Otherwise it returns false and the value is unchanged. The amount of
- time that NovWaitOnSemaphore will wait is controlled by the variable
- NovSemaphoreTimeOut.
-
- When NovSignalSemaphore is called by any user, the value is incremented.
- This allows other users to call NovWaitOnSemaphore and get a True value.
-
- NovSemaphoreUsers and NovSemaphoreValue are used to read the status of a
- semaphore without changing it's value.
-
- One of the major differences between how MarxMenu uses semaphores and
- the way Novell uses them is that normally a semaphore dies when the
- application finishes. This would normally prevent a 0k menu system from
- being able to use them. MarxMenu uses an interesting trick where it
- fools Netware into thinking that the semaphore belongs to another task.
- This allows the semaphore to live.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 21
- _______________________________________________________________
-
-
- Semaphores can be tracked using FCONSOLE. Some versions of Netware have
- a bug in FCONSOLE that reports an open count that is 256 times the real
- count. Just divide by 256 for the right number.
-
- Semaphores can be used for software metering. This allows MarxMenu to be
- aware of what other users on the network are doing. Here are the basic
- tools, what you do with them is only limited by your imagination.
-
- RUNNING A MARXMENU RUNNING A MARXMENU RUNNING A MARXMENU
-
- MarxMenus are run by typing MARX and the name of a menu file such as
- SAMPLE.MNU. As discussed earlier, the menu file is a text file created
- with a text editor such as TEDIT.
-
- Usage: MARX <Menu Filename>
-
- Example:
- MARX SAMPLE
-
- In the above example, if SAMPLE.MRX doesn't exist, or is older than
- SAMPLE.MNU then MarxMenu will automatically load the complier,
- MARXCOMP.EXE to create a new SAMPLE.MRX file.
-
- In the never ending quest for more speed, MarxMenu is somewhat faster to
- load if you include the MRX extension.
-
- Example:
- MARX SAMPLE2.MRX
-
- By specifying the MRX extension, no test is made to compare the file
- date with the source file. Thus if you have changed the MNU file, you
- will still be running the old version. In order to force a recompile,
- type MARXCOMP SAMPLE.
-
- CUSTOMIZING MARXMENU SAMPLE FILES CUSTOMIZING MARXMENU SAMPLE FILES CUSTOMIZING MARXMENU SAMPLE FILES
-
- Included in the MarxMenu package are menu files which you can easily
- modify to execute your programs and perform other functions you desire.
- Using TEdit, the text editor included in this package, you can modify
- and customize these menu files.
-
- Also included to demonstrate the power and versatility of the menu
- system is a menu labeled NIM.MNU. This is a game written in the menu
- system that demonstrates some of the logic functions and programmability
- of the system. Use it for reference.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 22
- _______________________________________________________________
-
-
- Here's a simple example of a menu file:
- ===================================
- ClearScreen
- DrawBox 30 9 25 8
- Writeln ' 1) Lotus'
- Writeln ' 2) dBase'
- Writeln ' 3) Wordstar'
- Writeln
- Write 'Select: '
-
- OnKey '1'
- cd\lotus
- 123
-
- OnKey '2'
- cd\db3
- db3
-
- OnKey '3'
- cd\wordstar
- ws
-
- ====================================
-
- Notice in looking at the "OnKey" statements that all I have to do is
- tell MarxMenu how to get to the program. Although, MarxMenu takes care
- of reloading itself after exiting a selected program, its does not
- return to its own subdirectory as many other menu programs do.
-
- That means that if you execute a program in another subdirectory, when
- you come back to the menu, you remain in that subdirectory. If you
- normally run your applications with a batch file, consider having
- MarxMenu change directories and execute the program for you. This will
- eliminate debugging problems caused by the actions of your batch files.
-
- MENU ANALYSIS MENU ANALYSIS MENU ANALYSIS
-
- Let's start a simple analysis of the example menu file shown
- above. The ClearScreen statement simply clears the screen to
- give us a fresh workspace for the menu. DrawBox is the command to
- draw a box on the screen to contain some menu text. The Writeln
- command writes a line of text to the screen within the box, then
- positions the cursor on the next line. The menu text shows the
- available selection keys that the user has access to.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 23
- _______________________________________________________________
-
-
- ONKEY STATEMENTS ONKEY STATEMENTS ONKEY STATEMENTS
-
- The OnKey statements control what is actually executed. OnKey
- statements also allow you to execute hidden commands when you do
- not want them to appear on the menu screen. One trick I use is to
- have an OnKey statement define a key that runs TEDIT on my
- personal menu file. I don't show this key on the menu to keep
- others from poking around in the file. For additional security
- a password can also be set up on this key.
-
- Normally you enter a line of text as if you were creating a BAT
- file to run your application. Like batch files, if one of your
- commands is a batch file, all the statements after it will not
- execute. To prevent this you can use the CALL command to call a
- batch file in DOS 3.3 or later, or COMMAND /C in DOS 3.0, 3.1 and
- 3.2.
-
- Normally, text displayed under an OnKey statement is the same
- text as the batch file created by MarxMenu. There are some
- exceptions. If a line starts with a "|" (vertical bar), the line
- will be interpreted by MarxMenu instead of being written to a
- batch file. This allows commands such as "PASSWORD" to be used.
- String variables can be passed as part of a batch command if the
- name of the string variable starts with a "%" symbol.
-
- The spaces preceding the commands under the OnKey statement are
- for clarity only. They are not necessary for MarxMenu to function
- properly.
-
- POPUP MENUS POPUP MENUS POPUP MENUS
-
- If you want to create a popup menu within a menu you can do so by
- using a "label". A label is a keyword preceded by a colon. To
- call the popup menu, place the keyword on a line by itself
- preceded by a carat (Shift 6). The label will precede the popup
- menu definition.
-
- For example if you have a popup menu to load Smart Software, you could
- name the PopUpMenu Smart. To bring up the Smart PopUpMenu, define a key
- in your main menu for Smart like this:
-
- OnKey 'S'
- ^Smart
-
- The Smart menu itself might look something like this:
-
-
-
- Computer Tyme MarxMenu Users Manual Page 24
- _______________________________________________________________
-
-
- :Smart
- BoxHeaderColor ForeColor BackColor
- BoxBorderColor Yellow Green
- BoxInsideColor LCyan Green
- InverseColor Yellow Red
- BoxHeader = ' Smart Menu '
- DrawBox 45 16 20 6
- UseArrows 2 2 16 3
- ClearLine 205
- Writeln
- Writeln ' Data Base'
- Writeln ' Spread Sheet'
- Write ' Word Processor'
-
- OnKey 'D'
- SM D
-
- OnKey 'S'
- |BoxHeaderColor ForeColor BackColor
- |BoxBorderColor Yellow Green
- |BoxInsideColor White Green
- |%1 = PickFile('C:\SMART\SPREAD\*.WS',4,5,17)
- SM S -ALOAD %1
-
- OnKey 'W'
- |BoxHeaderColor ForeColor BackColor
- |BoxBorderColor Yellow Green
- |BoxInsideColor White Green
- |%1 = PickFile('C:\SMART\WORD\*.DOC',4,5,17)
- SM W -ALOAD %1
-
- While developing the menu, program one of the keys to run your favorite
- editor on the menu file that you are creating. This way, as soon as the
- change is made, the results will show when you exit your editor. Since
- MarxMenu allows versatility in creating the look of your menus, a little
- trial and error will be required to make things look right.
-
- THE CONSOLE THE CONSOLE THE CONSOLE
-
- +---| Console Functions |---+
- | 1 - Blank Screen |
- | 2 - Set Blank Message |
- | 3 - Lock Keyboard |
- | 4 - Set Blank Time |
- +---------------------------+
-
- The Console is a popup menu of built-in functions. To activate the
- console, press the TAB key. A menu will pop-up in the upper left hand
- corner of the screen. You can change the position of this popup menu
- with the ConsolePos function.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 25
- _______________________________________________________________
-
-
- The first command on the Console screen is Blank Screen. Enter 1 and the
- screen will blank immediately. It will remain blanked until a key is
- pressed. Enter 2 on the Console menu and you can change the message
- displayed on the Blank Screen display.
-
- Enter 3 and you will be prompted for a word to lock the keyboard. After
- you enter the lock word the screen will blank and the keyboard will be
- locked until the exact lock word is typed. Enter 4 to set the number of
- minutes to wait before blanking the screen.
-
- The lock word feature is handy for times when you must leave the
- keyboard but don't want menu commands displayed for all to see. It also
- effectively locks the keyboard so someone can't escape to DOS and test
- the format command on your hard disk. We run this menu on a Novell
- Network and don't want to let everyone have access to the Supervisors'
- power at the touch of the escape key should we leave the keyboard.
-
- REPOSITIONING THE TOP WINDOW REPOSITIONING THE TOP WINDOW REPOSITIONING THE TOP WINDOW
-
- One nice feature you can use to get the windows right is to turn on the
- scroll lock. This lets you move the top window around the screen using
- the arrow keys so you can see how it looks. Then you can go into your
- menu code and set it permanently.
-
- Set Scroll Lock to "on". On most keyboards, a scroll lock LED will light
- up. Now use the arrow keys to move the top window to any position on the
- screen. Neat Huh?
-
- MOUSE SUPPORT MOUSE SUPPORT MOUSE SUPPORT
-
- If you have a standard mouse driver, MarxMenu will detect it and use it
- automatically. The left button on the mouse is the same as pressing
- return. The right button on the mouse is the same as pressing escape.
- Pressing both buttons on the mouse is the same as pressing the tab key.
- As of now, I'm not yet using the center button on the mouse for
- anything.
-
- The sensitivity of the mouse can be controlled using the MouseHorizontal
- and MouseVertical commands.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 26
- _______________________________________________________________
-
-
- STARTING OFF THE EASY WAY STARTING OFF THE EASY WAY STARTING OFF THE EASY WAY
-
- For those of you who want to just get a menu going and don't want
- anything complicated we have included a menu called the LEVEL1 menu.
- This menu is a fill in the blank type of menu that will get you going
- quickly and easilly.
-
- This menu requires no programming and explains itself. You run it by
- typing the command:
-
- MARX LEVEL1
-
- The first thing it does is scan your drive to find the directories. Then
- you just answer the questions and fill in the menu. This isn't as
- powerful as programming your own menu, but if you want something quick
- and dirty, this may be the answer for you.
-
- ABOUT VARIABLES ABOUT VARIABLES ABOUT VARIABLES
-
- One of the most unusual things about MarxMenu is its variables. MarxMenu
- handles variables differently than any other programming language. For
- the experienced programmer, this may require some adjustment since it's
- like getting used to driving a Cadillac after driving a VW Beetle.
-
- All variables in MarxMenu are like an empty box that can contain
- anything. A variable can be a number, boolean, string, file, array, etc.
- The type of variable is controlled internally and the user need not
- declare variable types.
-
- Variables are created with the VAR command:
-
- Var X Y Z
-
- If the word VAR is on a line by itself, the following lines, up to a
- blank line, are considered variable names.
-
- Var
- MyAge
- YourAge
- HisAge
- HerAge
-
- Variables are initialized to null values; 0 for Numbers, False for
- Booleans, and '' for strings. Initial values can be set when the
- variable is created.
-
- Var
- X = 6
- MyName = 'Marc'
- Programmer = True
-
-
-
- Computer Tyme MarxMenu Users Manual Page 27
- _______________________________________________________________
-
-
- Variables can change variable types. If you write a number to a string
- variable, the variable changes to a number.
-
- X = '234'
- X = Value(X)
-
- This is valid in MarxMenu. X now is a number and contains the value 234.
-
- Number variables are 32-bit integers ranging between plus or minus
- 2,147,483,647.
-
- Boolean variables are True or False.
-
- String variables are limited to 255 characters.
-
- In MarxMenu, string literals are delimited by either single or double
- quotes.
-
- "This can't be yogurt!"
- 'Lincoln said "Four score and seven years ago ..." '
-
- Numbers beginning with a '$' indicate base 16 or hex numbers.
-
- When choosing variable names, it is good programming practice to choose
- long meaningful names. This allows yourself and others to be able to
- read menus and follow the logic more easily.
-
- REAL NUMBERS REAL NUMBERS REAL NUMBERS
-
- So what's the difference between ordinary numbers and real numbers?
- Ordinary numbers in MarxMenu are 32 bit integers. These are numbers
- whose range is about plus or minus two billion. Integers are whole
- numbers and do not include any fractions.
-
- This is why MarxMenu has included REAL numbers (also known as Floating
- Point numbers). Real numbers in MarxMenu use BCD (Binary Coded Decimal)
- with 18 digits of accuracy. They have a range of 10 to the plus or minus
- 63rd power, which means up to 63 zeros either side of the decimal point.
- This lets you work with very big and very small numbers. MarxMenu has
- smart rounding algorithms so that 1.0 / 3 * 3 = 1.0 and not
- 0.999999999999999999 like in most languages.
-
- Real numbers are specified by using a decimal point. Thus 5.0 specifies
- a real number. Most normal MarxMenu functions still require the standard
- 32 bit integers. If you get the error: 'REAL found where INTEGER
- expected.' You need to use an integer.
-
- If an integer is passed where a real is expected, the integer is
- automatically converted to a real. Thus:
-
- 6.0 * 3 = 18.0
-
-
-
- Computer Tyme MarxMenu Users Manual Page 28
- _______________________________________________________________
-
-
- The Value function returns real numbers if a decimal point is used in
- the string. All the relevant math functions will work with reals as well
- as comparison operators.
-
- MarxMenu supports a variety of functions for real numbers. It has trig
- functions, log functions, and exponential functions. So why do you need
- real numbers in a menu program? I don't know. I had a library and
- threw them in. I figure someone will need them someday.
-
- With real numbers you can do trigonometry calculations like those
- discovered by the ancient Indian chief Pythagoras who discovered what is
- now know as Pythagoras's triangle.
-
- Now I know that a lot of you were taught in Math class that Pythagoras
- was Greek. Well, it's just not so. Let me tell you the real story:
-
- Pythagoras was an Indian chief that had three wives. Two of the wives
- were twins and weighed 120 pounds each. And they sat next to Pythagoras
- on a pair of twin deer hides.
-
- But Pythagoras also had a third wife who was a large fat woman who sat
- across from Pythagoras on a hypopotamus hide. This wife weighed 240
- pounds.
-
- What Pythagoras discovered was that the squaw on the hypopotamus was
- equal to the sum of the squaws on the other two hides!
-
- LOCAL VARIABLES LOCAL VARIABLES LOCAL VARIABLES
-
- MarxMenu also supports local variables. Variables declared within
- procedures become local variables. Local variables are just like global
- variables in that you can use them as multidimensional arrays. When the
- procedure finishes, all local variables are disposed.
-
- If a local variable has the same name as a global variable, the local
- variable will be used.
-
- PASSING PARAMETERS TO PROCEDURES PASSING PARAMETERS TO PROCEDURES PASSING PARAMETERS TO PROCEDURES
-
- Procedures can accept parameters by declaring variable names on the same
- line as the name of the procedure.
-
- Procedures can return variables by using the Return command. Return
- exits the procedure returning the parameters on the same line as the
- Return statement.
-
- Example:
-
-
-
- Computer Tyme MarxMenu Users Manual Page 29
- _______________________________________________________________
-
-
- Procedure Factorial (X)
- var Y Z
- Y = 1
- Z = 1
- while Y <= X
- Z = Y * Z
- Y = Y + 1
- endwhile
- Writeln X ' factorial is ' Z
- endproc
-
- In this example, if you were to use Factorial (5) you would get:
-
- 5 factorial is 120
-
- Another Example:
-
- Procedure AskYesNo (Question)
- var YesNo
- DrawBox (34 - (Length(Question) / 2)) 21 Length(Question) + 14 3
- TextColor LCyan Blue
- UseArrows Off
- Write ' ',Question,' (Y/N) '
- YesNo = UpperCase(ReadKey)
- YesNo = YesNo = 'Y'
- if YesNo
- Write 'Yes'
- else
- Write 'No'
- endif
- Wait 50
- EraseTopWindow
- Return (YesNo)
- EndProc
-
- if AskYesNo 'Do you want to continue? ' then Continue
-
- In this example, MarxMenu draws a box and asks a question and waits for
- a Yes or No answer.
-
- Arrays can be passed as parameters. Parameters are passed by value not
- by reference. This means that any changes to the passed parameter do not
- affect the original value.
-
- You can copy an array by assigning it equal to another array.
-
- Example:
-
- Array1 = Array2
-
-
-
- Computer Tyme MarxMenu Users Manual Page 30
- _______________________________________________________________
-
-
- This creates Array1 with a copy of all the elements of Array2. The
- previous contents of Array1 are overwritten.
-
- ABOUT CONSTANTS ABOUT CONSTANTS ABOUT CONSTANTS
-
- Constants are used to give values meaningful names. By using constants a
- value can be assigned once and the constant name used throughout the
- menu program. This way, if you change the value of the constant, all the
- places where that constant is used automatically change.
-
- This is good programming practice.
-
- Examples:
-
- Const States = 50 CPU = '80386 SX' WeekEnd = True
-
- or
-
- Const
- States = 50
- CPU = '80386 SX'
- WeekEnd = True
-
- Using the word STATES is just like using 50. Using CPU is just like
- using '80386 SX'. But if throughout my menu I use CPU, and then I get a
- new computer with a 80486, I can just change one line:
-
- Const CPU = '80486'
-
- And all the places I used CPU changes to '80486'. This is the correct
- way to program.
-
- ABOUT ARRAYS ABOUT ARRAYS ABOUT ARRAYS
-
- MarxMenu supports multidimensional arrays up to 31 dimensions. Unlike
- other programming languages, arrays need not be declared. MarxMenu
- creates arrays "on the fly" and automatically takes care of the array
- size and number of dimensions.
-
- Another unusual feature of MarxMenu arrays is that they are an array of
- MarxMenu variables. This means that elements of MarxMenu arrays need not
- be of the same type. Element 1 can be a number, element 2 can be a
- string and element 3 can be another array.
-
- This type of variable management leads to the easy creation of very
- powerful data structures as you will see.
-
- Var X
-
-
-
- Computer Tyme MarxMenu Users Manual Page 31
- _______________________________________________________________
-
-
- X[1] = 'Element 1'
- X[2] = 3
- X[3] = True
- X[4,6] = 9
- X[4,7] = 'Ten'
-
- These are all valid statements. MarxMenu creates a two dimensional array
- here. If we now execute the following statement:
-
- X[4] = X[4,6] + X[2]
-
- X[4] becomes equal to 12 but variables X[4,6] and X[4,7] are lost. This
- is because we have changed an array into a number. MarxMenu
- automatically handles the deallocation of memory used by this array and
- its elements and returns the space the used to the memory pool.
-
- ABOUT QUALIFIERS ABOUT QUALIFIERS ABOUT QUALIFIERS
-
- Qualifiers are named indexes into arrays. They are used to make the
- source menu file more readable and more organized.
-
- Suppose we are creating a data structure to deal with places in the
- United States. First we will need an array for States.
-
- Var States
-
- We want to store some facts about the states.
-
- Qualifier
- Population
- Bird
- Motto
- County
-
- State[3].Population = 10000000
- State[3].Bird = 'Chicken'
- State[3].Motto = 'Best politicians money can buy!'
-
- Now states have counties and counties have county seats, sheriffs, and
- cities.
-
- Qualifer
- Sheriff
- Seat
- City
-
- State[3].County[7].Sheriff = 'Buck InBred'
- State[3].County[7].Seat = 'Possum Trot'
-
- Now counties have cities and cities have schools, mayors, churches, and
- taxes.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 32
- _______________________________________________________________
-
-
- Qualifier
- Schools
- Mayor
- Churches
- Taxes
-
- State[3].County[7].City[9].Schools = 8
- State[3].County[7].City[9].Mayor = 'Virgil Collins'
- State[3].County[7].City[9].Churches = 120
- State[3].County[7].City[9].Taxes = '$100,000,000'
-
- The above line is the same as:
-
- State[3,4,7,3,9,4] = '$100,000,000'
-
- As you can see with qualifiers, it is easy to create multidimensional
- arrays in a way that is organized and readable.
-
- In this example, the qualifier Population became equal to 1. Bird became
- equal to 2. The variable references, State[3].Bird and State[3,2] are
- the same. It's just that one is more readable than the other. Qualifiers
- normally begin by assigning 1 to the first name and 2 to the second
- etc. This can be modified.
-
- Qualifier
- Color = 7
- Size
- Shape
-
- In this case Color becomes the number 7; Size becomes the number 8; and
- Shape becomes the number 9.
-
- COMMENTS IN MENU FILES COMMENTS IN MENU FILES COMMENTS IN MENU FILES
-
- MarxMenu has three ways to add comments to a menu file. The first way is
- with the Comment command.
-
- Comment
- ========================
- This is a comment block.
- ========================
- EndComment
-
- All lines up to EndComment are ignored.
-
- The second way is with a ';'. All text to the right of the ';'
- (semicolon) is ignored.
-
- BlankTime = 20 ;this is where we set the blank time.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 33
- _______________________________________________________________
-
-
- The third way is using {} or curly braces. Anything inside the curly
- braces is ignored. Curly braces can be nested.
-
- {All of {this} is a comment.}
-
- Comments are ignored by the compiler and cost you nothing in execution
- speed. Comments can save you a lot of time if you have to come back
- later and work on your menu, or if someone else has to work on it.
- Therefore, I encourage you to use comments as much as possible.
-
- THE MARXMENU COMPILER THE MARXMENU COMPILER THE MARXMENU COMPILER
-
- MarxMenu reads your MNU files and creates MRX files. These MRX files are
- a highly digested form of the MNU file that you created. MRX files are
- the compiled files.
-
- When you run MarxMenu, the interpreter MARXMENU.EXE looks for the menu
- file with the MRX extension. If it doesn't find it, MARXMENU.EXE will
- automatically load MARXCOMP.EXE and compile the menu. MARXMENU.EXE also
- compares the file dates of the MNU and the MRX files. If the MNU file is
- newer than the MRX file, the complier will be loaded.
-
- MarxMenu will also force a compile if the MRX file was not complied by
- the same version and release date of the MarxMenu you are using. MRX
- files are not compatible from one version of MarxMenu to the next.
-
- You can also force a compile from the command line by typing MARXCOMP
- <menu>.
-
- COMPILER COMPATIBILITY COMPILER COMPATIBILITY COMPILER COMPATIBILITY
-
- The MarxMenu compiler is fully compatible with earlier versions of
- MarxMenu with a few exceptions. The new compiler does a lot more error
- checking than earlier versions of MarxMenu and will catch errors that
- you used to get away with. Other than that, the only difference you
- should notice will be a speed increase.
-
- Earlier versions of MarxMenu had separate names for variable types. The
- names $VAR, BVAR, #VAR, and FILEVAR act the same as typing VAR.
-
- Very early versions of MarxMenu had a different form of the USEARROWS
- command that required 4 to 5 numbers after it. If you run into this
- error, just get rid of the numbers after USEARROWS and it will work
- fine.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 34
- _______________________________________________________________
-
-
- A WORD ABOUT DOS VERSIONS ..... A WORD ABOUT DOS VERSIONS ..... A WORD ABOUT DOS VERSIONS .....
-
- Versions of DOS below 3.3 will cause MarxMenu to use 3.5k of ram where
- 3.3 DOS and above use no memory. 3.2 DOS is very buggy and should be
- replaced. 3.1 DOS isn't too bad for bugs but if you're using the BACKUP
- and RESTORE programs that came with it, you're in trouble. They don't
- work on large files. You'll find that out if you try to restore one of
- them.
-
- MS-DOS 4.01 seems to be pretty clean provided you have the April-89
- release or later. To determine if you do, check the file date on
- COMMAND.COM. Earlier versions of DOS 4.01 have SERIOUS BUGS. If you are
- running any DOS 4 earlier than April-89 you should upgrade immediately.
-
- DR-DOS or EZ-DOS are pretty good also. It is very compatible as long as
- you don't get too strange with it. I recommend version 3.4 or later.
- 4DOS is also pretty good but sometimes some of the advanced features in
- this product can cause it to behave differently than DOS. This requires
- extra care when writing your menus.
-
- MarxMenu should work correctly on 386 type multiuser operating systems
- such as Digital Research's Concurrent DOS 386 or SCO VPIX DOS emulators.
- Although MarxMenu should run under PC-MOS I do not recommend it. My
- experience with PC-MOS has been nothing but grief.
-
- MarxMenu will not run correctly under DesqView 2.26. It will run under
- 2.25 or 3.21. So if you are running 2.26, it needs to be upgraded.
- MarxMenu contains several support functions for DesqView.
-
- If you are running under some weird DOS and are having problems, try it
- under "regular" DOS and see if it goes away. If it does, try to find out
- what it is about your weird DOS that makes it not work right. I am
- interested in being compatible with as many systems as I can. Let me
- know if you are having problems. But also, try to get your wierd DOS
- vendors to clean up their act.
-
- A WORD ABOUT BUGS ..... A WORD ABOUT BUGS ..... A WORD ABOUT BUGS .....
-
- Although I try to create perfect bug free software, every now and then
- even I make a mistak. If you find one, let me know and I'll fix it.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 35
- _______________________________________________________________
-
-
- TIPS FROM THE MASTER TIPS FROM THE MASTER TIPS FROM THE MASTER
-
- Since MarxMenu is a programing language, I want to talk about what
- programing is and how it is accomplished. I want to dispel some myths
- and fears relating to it and introduce you to techniques that will help
- you write code neatly, quickly, and efficiently. From the outside,
- programming looks like magic; but once you know a few of the tricks, its
- really not too hard.
-
- Many of us who were raised on 50s and 60s science fiction television
- learned that it is the brainy types who deal with computers. It almost
- gives you the impression that the computer is smart and you are dumb. As
- you use the computer, it is evaluating you, and if it figures out that
- its smarter than you, it can get your job and replace you.
-
- COMPUTERS DO SIMPLE TASKS COMPUTERS DO SIMPLE TASKS COMPUTERS DO SIMPLE TASKS
-
- A computer is a simple device. It does simple tasks. It just does them
- very fast and accurately. Computers don't even know basic things like
- how to write letters on the screen or how to read the keyboard. These
- are programs that the computer runs. Someone had to program your
- computer to do even the simplest of tasks.
-
- As you learn to use MarxMenu start with the simple menus. The SAMPLE.MNU
- is a very easy program. Study it and understand how it works. Make a
- copy of it and change one selection to run one of your programs.
-
- Once you have changed one selection, change several more. Now MarxMenu
- is running your programs, and you have made it work. Then try something
- new. Add more selections. Change the size and position of the box to fit
- your needs.
-
- Take the time to play with it. Try new commands. Build up your menu. Be
- artistic. The more you work with it, the more you will learn.
-
- COMPLEX TASKS ARE MADE OF SIMPLE TASKS COMPLEX TASKS ARE MADE OF SIMPLE TASKS COMPLEX TASKS ARE MADE OF SIMPLE TASKS
-
- As you learn more about MarxMenu, move on to SAMPLE2.MNU. Here we use
- more of the power of the MarxMenu language. As you study this menu, you
- will notice something. Even though it looks complex, it is really a
- collection of simple tasks. Understand how the moving windows work.
- Understand that the pop-up menus are just like the main menu. You will
- see that it is really not a complex menu at all. It is a lot of simple
- processes hooked together.
-
- That is one of the main concepts behind programming. Complex tasks are
- built out of simple tasks. As you learn the simple tasks, you will
- quickly understand how to connect them to accomplish complex tasks.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 36
- _______________________________________________________________
-
-
- When one sees a castle, one can't help but to be impressed. But castles
- are made of stones. And you can't build castles until you understand how
- stones work. Then you realize that a castle is just a bunch of stones
- hooked together. Programming is just like that.
-
- To successfully understand MarxMenu, start at the bottom and work your
- way up. Each little trick you learn becomes another building block for
- the next trick. What you start with becomes the foundation for the work
- that you will eventually produce.
-
- LEARNING GOOD PROGRAMMING HABITS LEARNING GOOD PROGRAMMING HABITS LEARNING GOOD PROGRAMMING HABITS
-
- Programming has its pitfalls, here I hope to give you some tips that
- will help you avoid common mistakes. This, I hope will give you a head
- start on the road to MarxMenu being done right.
-
- The first concept is patience. Rome wasn't built in a day. You may not
- be able to write grand and glorious menus the first try. In fact, you
- may have trouble getting the damn thing to work at all. As you have
- probably already noticed, no program is perfect. Sometimes there are
- errorrs in the manual. Sometimes it just doesn't work like you expected,
- or does not work the same way as other programs that are familiar to
- you.
-
- But, once you complete the installation, give it some time and realize
- that there is a lot of potential here. Approach all challenges with a
- good attitude.
-
- USE LONG NAMES USE LONG NAMES USE LONG NAMES
-
- I learned computers the hard way. Out on the streets. Hanging around
- with other computer nerds in the late 70s who never went to college
- either. I was known as a Bit Wit. My first real computer was an IMSAI
- kit. Actually, it wasn't all IMSAI, it was a combination of several kits
- where no two boards came from the same supplier. It was in an IMSAI box,
- so I call it an IMSAI.
-
- It was all supposed to work together the salesman told me the day before
- they went out of business. And it all did after some redesigning. I was
- tired of fixing CB radios for a living and decided that computers were
- here to stay and that I was going to learn about them.
-
- With that in mind, everything that went wrong became an opportunity for
- growth. Not that I looked forward to things not working. I programmed
- the thing from scratch, loading binary codes into memory from an array
- of switches on the front panel.
-
- The first program I wrote ran the EPROM burner, which was the only
- storage device I had. After I saved this program on a chip, I used it to
- load the second program onto the chip.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 37
- _______________________________________________________________
-
-
- Eventually I wrote enough software to talk to the screen and keyboard.
- Now I could type hex codes on the screen and save them to a chip.
- Eventually I wrote a tape driver and could save stuff on tape. Later, I
- traded for a North Star disk drive and had a disk system. One 90k
- floppy. I thought I was in heaven.
-
- I was intimately familiar with my computer. All my programs were in
- object code with no documentation whatsoever. At that point, a friend of
- mine, Rufus, turned me on to a language called FORTH.
-
- Being an interesting language and very powerful, I typed in the whole
- compiler in hex and adapted it to work on my system. Once I got Forth
- up, I wrote a line editor in it. I then used the line editor to write a
- screen editor. With the screen editor, I rewrote Forth in Forth. The
- language compiled itself.
-
- From working with Forth (which is as much a religion as a programming
- language) I learned both good and bad habits. Forth is a write only
- language and is almost impossible to read even with the best of
- documentation. On the other hand, it is as close to the machine as you
- can get in a high level language.
-
- After opening up a computer store in 1984, it became time to make the
- jump from CP/M to the DOS world. Turbo Pascal offered an interesting
- solution. They had both a CP/M and DOS compiler. This meant that
- programs I wrote would run on both machines. The thing that struck me
- about Pascal was that I could read it better than Forth, and I didn't
- even know the language. Not only that, but I could follow the programs
- that other people wrote and incorporate their code into my programs.
-
- The more programs I wrote, the more I came to appreciate a language that
- was reader friendly. I could manage my programs much easier without
- having to remember so much. Other people could follow what I was doing
- easier.
-
- The important thing I learned was that readability is very important in
- a program. The more complex the program, the more important readability
- becomes.
-
- One of the main design factors in the MarxMenu language is readability.
- I could have used short names for my commands and it's not like I like
- to type. I'm still on just two fingers here. Its just that descriptive
- names are so much more meaningful when putting simple processes together
- to create complex processes.
-
- The point (finally) is, when creating variable names, or procedure
- names, use long meaningful names. It may take more typing, but it takes
- a lot less thinking and remembering later on. Consider the following
- example in choosing variable names.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 38
- _______________________________________________________________
-
-
- Var KlingonsDestroyedInBattle
- Var K
-
- In the above example, it is obvious which one tells you more about what
- information is stored in the variable.
-
- USE COMMENTS LIBERALLY USE COMMENTS LIBERALLY USE COMMENTS LIBERALLY
-
- Even though MarxMenu is easy to read, it still should be commented. The
- examples that come with this disk do not have as many comments as they
- should. Don't do as I do, do as I say. I'm lazy and a bad example.
-
- Comments are not compiled in your MRX files and cost you nothing at
- execution time. In order to make commenting easy, I have provided three
- separate comment commands. Learn these commands first.
-
- Every menu should include a title comment. This should include the name
- and phone number of the person who wrote it. If you have a problem with
- a menu and you send it to me, I expect a title comment. That way I can
- call you about it.
-
- Comment
- ====================================================================
-
- This comment was created by Marc Perkel 1-417-866-1222
-
- Last Updated: 01-28-90
-
- This form of comment block is better than using ';' because not using ;
- allows you to turn your word wrap feature on and do some professional
- looking editing in the comment block. This kind of comment block should
- be at the beginning of each and every menu you create.
-
- The top and bottom bars are for looks only and are not necessary to the
- comment. I strongly encourage you to use bars and do things for looks
- in source code. Looks are very important and you should put as much
- care into your comments as you do in writing a business letter.
-
- If you learn MarxMenu well, your source code may be part of your next
- job interview as you move up the corporate ladder. So you want it to
- look good.
-
- By the way, if you upload your menus to my bulleten board, I expect a
- comment block at the top of your menu with your phone number so I can
- get back to you.
-
- ====================================================================
- EndComment
-
-
-
- Computer Tyme MarxMenu Users Manual Page 39
- _______________________________________________________________
-
-
- INDENT YOUR CODE INDENT YOUR CODE INDENT YOUR CODE
-
- As programs get more complex, it gets harder to match the IFs with the
- ELSEs and the ENDIFs. This is where indenting comes in. It creates a
- logical grouping of statements and you can easily see what goes with
- what.
-
- Procedure IfDemo
- IF <condition>
- <statement>
- <statement>
- ELSE
- <statement>
- <statement>
- WHILE <condition>
- <statement>
- <statement>
- ENDWHILE
- <statement>
- ENDIF
- <statement>
- EndProc
-
- You can easily see how this helps you follow what you are writing. Now
- here's a new trick. If you are using an IF, and plan to use an ELSE and
- an ENDIF, on the line under the IF statement, type in your ELSE and
- ENDIF lines. Then go back and insert your statements in between these
- lines. This will help you avoid forgetting the ENDIF or getting mixed up
- as to which IF matches which ELSE.
-
- A similar trick can be done with parens and brackets. When typing a left
- paren, type the matching right paren with it. Then fill in the code you
- want to put inside the parens or brackets.
-
- FOR DUPLICATE TASKS, USE PROCEDURES FOR DUPLICATE TASKS, USE PROCEDURES FOR DUPLICATE TASKS, USE PROCEDURES
-
- As menus become longer and more complex, many times you are duplicating
- a process that you already have written. Although it is easy to copy a
- block of code, it is better to create a procedure.
-
- With procedures, the process is put in one place and is given a name.
- Preferably a long meaningful name. Once this procedure is defined and
- named, it can be used as if it were part of the MarxMenu language. This
- makes menus smaller and easier to read. It is also a way for you to
- combine small processes into large processes. Procedures can be built
- using other procedures.
-
- Once you have a process figured out and working in a procedure, the
- whole process becomes a black box with a name that you can use
- elsewhere. The whole process is reduced down to a name that just works!
-
-
-
- Computer Tyme MarxMenu Users Manual Page 40
- _______________________________________________________________
-
-
- Another advantage of procedures is that if circumstances change and the
- procedure needs to be modified, you only make a change one place in your
- menus, and everything that uses that procedure is automatically changed.
- This makes menu maintenance easier.
-
- DON'T PROGRAM YOURSELF INTO A CORNER DON'T PROGRAM YOURSELF INTO A CORNER DON'T PROGRAM YOURSELF INTO A CORNER
-
- Using the above techniques will allow you to write very complex menu
- systems. Failing to use these techniques can limit what you can
- accomplish. There is a term called "programming yourself into a corner"
- which refers to a program that is so poorly written, that it can't be
- modified to accommodate changes and improvements.
-
- The height of your programming abilities depends on the foundation on
- which they are built. You must avoid rushing to the top without first
- creating a firm foundation on which to build. Good technique is the
- foundation for good programming. You will have to learn it eventually,
- it is more efficient to do it right than it is to do it over.
-
- Adopting good programming habits reminds me of my favorite light bulb
- joke:
-
- Q. How many psychologists does it take to change a light bulb?
-
- A. Only one, but the light bulb has to want to change.
-
- A WORD TO WRITERS AND REVIEWERS A WORD TO WRITERS AND REVIEWERS A WORD TO WRITERS AND REVIEWERS
-
- MarxMenu is a multi-level product fulfilling the needs of a large
- variety of computer users. It is difficult to compare this product on a
- feature to feature basis. This is because MarxMenu has about 10 times as
- many features as any other menu system. These features allow this
- product to target a very broad variety of computer users, from the
- novice user, who will only use the LEVEL1 menu, to large companies with
- hundreds of file servers controlled through the MarxMenu language.
-
- One common mistake that writers make when evaluating MarxMenu, is in the
- area of ease of use. If you are looking for ease of use, stick with the
- simple menus and the self-configuring menus such as the LEVEL1 example.
- By looking at it this way, MarxMenu will be as easy to use as any other
- menus system out there and can be compared for similar features. Even
- though MarxMenu supports complex commands, it is not necessary to use
- them in simple menus.
-
- If you are doing a comparative review, please let me know on what basis
- you are making comparisons. This way I can assist you by providing you
- accurate information in the area of your interest. If you are looking
- for simple, I can show you simple; if you are looking for power, I can
- show you power.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 41
- _______________________________________________________________
-
-
- On the other hand, if you are reviewing power tools and network
- utilities, you might want to look at the Network Survival Kit and not
- just MarxMenu. So if you have a copy of only this program, give me a
- call and I'll get you the latest and greatest.
-
- In addition to our software, we also have color prints and color slides
- available as well as product literature and sample reviews. These are
- available to make your job easier and help you make those deadlines.
-
- MarxMenu tends to be best reviewed as a long article rather than a short
- one. It is very good if you have a lot of space to fill. With a long
- article, you can get really in depth with what MarxMenu is able to do.
-
- Any publication which reviews any of my products gets a site license to
- that product whether I like the review or not. Our position is that if
- you are using MarxMenu yourself, you will get to know it better.
-
- So far, as of the date I write this, no writer has written an article
- about MarxMenu that I feel covered what this product is really capable
- of doing. Consider this a challenge.
-
- Any questions you have about any of my products, feel free to call. The
- main thing I ask is that you get the product name, price, our address,
- and our phone number right.
-
- USING MARXHELP USING MARXHELP USING MARXHELP
-
- MarxHelp is a TSR pop-up help program for MarxMenu. It acts as an online
- reference guide to all of the MarxMenu commands. MarxHelp only takes 8k
- of ram and is very useful while writing your MarxMenu applications.
-
- To load MarxHelp type MARXHELP at the command line. Then if you want to
- pop-up an index press Shift-F3. The Shift-F2 key will repeat your last
- help topic and Shift-F1 will look up the word your cursor is on.
-
- To get more help on MarxMenu type MarxHelp /?. If you need to unload
- MarxHelp from memory, type MarxHelp /U.
-
- MarxHelp comes with the Computer Tyme Network Survival Kit. It can also
- be downloaded from our support BBS. It does not come bundled with the
- single user version.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 42
- _______________________________________________________________
-
-
- PRINTING THE EXAMPLE FILES PRINTING THE EXAMPLE FILES PRINTING THE EXAMPLE FILES
-
- MarxMenu comes with several example programs from simple to complex. The
- first thing to do is print the sample menus and study them. Start with
- the easy ones. You may never need to use any of the more complex ones,
- but if you do, a large variety of advanced techniques are demonstrated.
-
- By studying the sample menus, and comparing them to this manual, it
- should be fairly easy to become productive writing your own menus.
-
- MARXMENU COMMANDS MARXMENU COMMANDS MARXMENU COMMANDS
-
- MarxMenu contains a rich set of commands. They are listed here
- alphabetically and by command category. You don't have to learn them all
- so don't let the size of the list scare you.
-
- In the following command list, words contained within ( ) are command
- parameters that must be included after the menu command. If the
- parameter is not required, it will be contained in [ ]. The numeric
- range for the <column> parameter is 1 - 80 decimal, and for the <row>
- parameter the range is 1 - 25, 43, or 50 decimal depending on how many
- lines your monitor displays.
-
- | (Vertical Bar) | (Vertical Bar) | (Vertical Bar)
- Forces MarxMenu interpretation under an OnKey Command. If not for the |
- (Vertical Bar), the command under an OnKey would be written to a batch
- file. The | is only used under OnKey commands.
-
- Example:
- OnKey 'S'
- |password 'hello' 3 4
- ECHO Type EXIT to return to menu
- COMMAND.COM
-
- OnKey 'X'
- |If UpperCase( ReadEnv( 'USERNAME' ) ) = 'SUPERVISOR'
- SYSCON
- |Else
- | SecurityBreach( 'You do not have access to this function!' )
- |EndIf
-
- Category: Misc
-
-
-
- Computer Tyme MarxMenu Users Manual Page 43
- _______________________________________________________________
-
-
- ( : Operator ( : Operator ( : Operator
- Starts logical interpreter grouping.
-
- Used to force evalution of an expression.
-
- Example:
- 2 * 3 + 2 evaluates to 8
- 2 * ( 3 + 2 ) evaluates to 10
-
- Category: Misc
-
- ) : Operator ) : Operator ) : Operator
- Ends logical interpreter grouping.
-
- See Also: (
-
- Category: Misc
-
- * : Operator * : Operator * : Operator
- Multiplies two numbers.
-
- Category: Math, Float
-
- + : Operator + : Operator + : Operator
- Adds two numbers or two strings.
-
- Example:
- "Hello" + " " + "World" = "Hello World"
- 2 + 2 = 4
-
- Category: Math, String, Float
-
- - : Operator - : Operator - : Operator
- Subtracts two numbers.
-
- Category: Math, Float
-
- / : Operator / : Operator / : Operator
- Divides two numbers.
-
- Category: Math, Float
-
- < : Operator < : Operator < : Operator
- Less Than - Compares two numbers or strings.
-
- Category: Math, String, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 44
- _______________________________________________________________
-
-
- <= : Operator <= : Operator <= : Operator
- Less Than or Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- <> : Operator <> : Operator <> : Operator
- Not Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- = : Operator = : Operator = : Operator
- Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- > : Operator > : Operator > : Operator
- Greater Than - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- >= : Operator >= : Operator >= : Operator
- Greater Than or Equal - Compares two numbers or strings.
-
- Category: Math, String, Float
-
- %MenuFileName : String %MenuFileName : String %MenuFileName : String
- This returns the name of the current menu file including the complete
- path. It can be used under an OnKey statement to edit the current menu
- as follows:
-
- Example:
- OnKey 'E'
- EDIT %MenuFileName
-
- Category: String
-
- Abs : Number Abs : Number Abs : Number
- Returns the absolute value of a number. The absolute value is the value
- of the number without the sign.
-
- Example:
- Abs(-6) returns 6
-
- Category: Math, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 45
- _______________________________________________________________
-
-
- Alias Alias Alias
- Alias <name> = <string>
- This is a compiler level text substitution command. When <name> is
- defined as <string> whenever you use <name> its the same to the compiler
- as if <string> were typed there.
-
- Example:
- Alias TwoPlusThree = "(2 + 3)"
- .
- .
- .
- 2 * TwoPlusThree = 10
- .
- Writeln TwoPlusThree
-
- Writeln TwoPlusThree is the same as Writeln (2 + 3)
-
- Category: Misc
-
- And : Operator And : Operator And : Operator
- Returns logical And if operators are boolean; or bitwise And if
- operators are numeric.
-
- Category: Math, Boolean
-
- Apr : Number Apr : Number Apr : Number
- April, returns the number 4.
-
- Category: MonthName
-
- ArcTan (Radians) : Real ArcTan (Radians) : Real ArcTan (Radians) : Real
- Returns the ArcTangent of a real.
-
- Category: Math, Float
-
- Aug : Number Aug : Number Aug : Number
- August, returns the number 8.
-
- Category: MonthName
-
-
-
- Computer Tyme MarxMenu Users Manual Page 46
- _______________________________________________________________
-
-
- Bat (string) Bat (string) Bat (string)
- Used to write a line to the batch file the same way OnKey does. All the
- same rules apply. The batch file is created when the menu exits.
- MarxMenu exits with ErrorLevel 0 unless some other value has been
- specified using the ExitCode command.
-
- Example:
- BAT "command /c dir a:"
- ExitMenu
-
- See Also: OnKey
-
- Category: Execution
-
- BatFileName : String BatFileName : String BatFileName : String
- Returns the name of the batch file that MarxMenu would create if
- MarxMenu were to create a batch file automatically.
-
- Category: String
-
- BigShadow BigShadow BigShadow
- Selects big shadow type. This is the default shadow.
-
- See Also: SmallShadow, ShadowPosition, ShadowColor
-
- Category: Display
-
- Black : Number Black : Number Black : Number
- Returns the number 0.
-
- Category: Color
-
- BlankMessage (string) BlankMessage (string) BlankMessage (string)
- When the screen blanks out, this one line message is displayed. If
- BlankMessage is not set, the date and time will be displayed.
-
- See Also: ConsolePos
-
- Category: String
-
- BlankTime (minutes) BlankTime (minutes) BlankTime (minutes)
- Sets the number of minutes before the screen blanks out to prevent
- screen burn. Since this is not a resident program, screen blanking is
- only active while the menu system is active. Setting BlankTime to 0
- prevents screen blanking.
-
- Example:
- Set ConsolePos
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 47
- _______________________________________________________________
-
-
- BlockBox BlockBox BlockBox
- Selects block type box for menu borders.
-
- See Also: SingleLineBox, DoubleLineBox, CustomBox, NoBoxBorder
-
- Category: Display
-
- Blue : Number Blue : Number Blue : Number
- Returns the number 1.
-
- Category: Color
-
- BoxBorderColor (forecolor,backcolor) BoxBorderColor (forecolor,backcolor) BoxBorderColor (forecolor,backcolor)
- Sets colors for box border.
-
- Category: Display
-
- BoxHeader (string) BoxHeader (string) BoxHeader (string)
- Sets the center header message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxHeader ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooter, BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
- BoxHeaderLeft (string) BoxHeaderLeft (string) BoxHeaderLeft (string)
- Sets the left header message for the next box displayed. This command is
- used before the DrawBox command.
-
- Example:
- BoxHeaderLeft ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderRight
- See Also: BoxFooter, BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 48
- _______________________________________________________________
-
-
- BoxHeaderRight (string) BoxHeaderRight (string) BoxHeaderRight (string)
- Sets the right header message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxHeaderRight ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft
- See Also: BoxFooter, BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
- BoxHeaderColor (forecolor,backcolor) BoxHeaderColor (forecolor,backcolor) BoxHeaderColor (forecolor,backcolor)
- Sets colors for the box headers and box footers.
-
- Category: Display
-
- BoxFooter (string) BoxFooter (string) BoxFooter (string)
- Sets the center footer message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxFooter ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooterLeft, BoxFooterRight
-
- Category: Display
-
- BoxFooterLeft (string) BoxFooterLeft (string) BoxFooterLeft (string)
- Sets the left footer message for the next box displayed. This command is
- used before the DrawBox command.
-
- Example:
- BoxFooterLeft ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooter, BoxFooterRight
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 49
- _______________________________________________________________
-
-
- BoxFooterRight (string) BoxFooterRight (string) BoxFooterRight (string)
- Sets the right footer message for the next box displayed. This command
- is used before the DrawBox command.
-
- Example:
- BoxFooterRight ' Main Choices '
- DrawBox (25,6,30,9)
-
- See Also: BoxHeader, BoxHeaderLeft, BoxHeaderRight
- See Also: BoxFooter, BoxFooterLeft
-
- Category: Display
-
- BoxInsideColor (forecolor,backcolor) BoxInsideColor (forecolor,backcolor) BoxInsideColor (forecolor,backcolor)
- Sets colors for box interior.
-
- Category: Display
-
- Brown : Number Brown : Number Brown : Number
- Returns the number 7.
-
- Category: Color
-
- BW40 : Number BW40 : Number BW40 : Number
- Returns the number 0. Relates to the DOS Mode BW40 command.
-
- Category: Video
-
- BW80 : Number BW80 : Number BW80 : Number
- Returns the number 2. Relates to the DOS Mode BW80 command.
-
- Category: Video
-
- CapsColor (forecolor,backcolor) CapsColor (forecolor,backcolor) CapsColor (forecolor,backcolor)
- Setting CapsColor allows capital letters and numbers to be a different
- color than the rest of the text. This is used with the UseArrows command
- to show which character is the one that selects the options in the
- window. CapsColor is reset after any TextColor command, so be sure to
- use CapsColor AFTER TextColor commands.
-
- For this option the numbers 0 - 9 and some punctuation characters are
- considered capitals.
-
- See Also: DrawBox
-
- Category: Display
-
- CapsLock : Boolean CapsLock : Boolean CapsLock : Boolean
- Returns true if caps lock is on.
-
- Category: System
-
-
-
- Computer Tyme MarxMenu Users Manual Page 50
- _______________________________________________________________
-
-
- Chain (MenuName) Chain (MenuName) Chain (MenuName)
- This command will load a new menu. Unlike Jump, MarxMenu stays in
- memory. The screen is not cleared. If the new menu has exactly the same
- global variables, the contents of all global variables is retained.
- Chain allows for a very quick transfer from one menu to another.
-
- Example:
- Chain ('USER') ;Chains to USER.MNU
-
- Category: Execution
-
- Char (number) : String Char (number) : String Char (number) : String
- Converts a number into a one character string.
-
- Example:
- Write (Char(65)) ;This will display 'A'
-
- Category: String
-
- ChDir (string) ChDir (string) ChDir (string)
- Changes directories. The variable FileResult can be tested to see if it
- was successful. ChDir can also be used to change drives.
-
- Example:
- ChDir( 'C:\HOME\MARXMENU' )
- ChDir( 'B:' ) ; Will make drive B: the current drive
-
- Category: File
-
- CleanFileName (string) : String CleanFileName (string) : String CleanFileName (string) : String
- Returns the full path name or directory name of a string. It also
- removes occurrences of a '\\' in the string. Thus the command: String =
- CleanFileName('a:\' + '\main.mnu') sets String to 'A:\MAIN.MNU'.
- CleanFileName also removes extra ending '\' and capitalizes the path.
-
- Category: String
-
- ClearLine [char] ClearLine [char] ClearLine [char]
- Clears the current line in the current window. The optional parameter is
- for the decimal number of the IBM graphics character. If [char] is
- present, the line will be filled with the character.
-
- Examples:
- ClearLine ;Clears screen with blanks
- ClearLine 205 ;Clears screen with char 205
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 51
- _______________________________________________________________
-
-
- ClearScreen [char] ClearScreen [char] ClearScreen [char]
- Clears the screen. The optional parameter is the decimal number
- equivalent for an IBM graphics character. If [char] is present, the
- screen will be filled with [char].
-
- Examples:
- ClearScreen ;Clears screen with blanks
- ClearScreen 177 ;Clears screen with char 177
-
- Category: Display
-
- ClearScreenFirst (on/off) ClearScreenFirst (on/off) ClearScreenFirst (on/off)
- Used in conjunction with Execute. If on, will clear the screen before
- running the program.
-
- Example:
- OnKey 'D'
- |ClearScreenFirst On
- |Execute 'C:\DM.COM'
-
- The default is ON.
-
- Category: Execution
-
- ClearScreenOnExit (on/off) ClearScreenOnExit (on/off) ClearScreenOnExit (on/off)
- Controls whether or not the screen is cleared on menu exit. Default on.
-
- Category: Display
-
- ClockColor (forecolor,backcolor) ClockColor (forecolor,backcolor) ClockColor (forecolor,backcolor)
- Sets colors for the on screen clock.
-
- Category: Display
-
- ClockMode ClockMode ClockMode
- ClockMode is a variable whose bits control the format of the on screen
- clock when it is used.
-
- ClockMode Bits:
- ---------------
- 0 24 hour mode
- 1 AmPm On
- 2 Show Seconds
- 3 UpperCase
- 4 3 char month
- 5 3 char Day of Week
- 6 Show Day of Week
- 7 Dash = 0 Slash = 1 MM-DD-YY or MM/DD/YY
- 8 Long Date
-
- Bit 0 on sets hours display to 24 hour mode.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 52
- _______________________________________________________________
-
-
- Bit 1 turns on the Am/Pm display.
-
- Bit 2 on controls if time is shown as HH:MM:SS or just HH:MM.
-
- Bit 3 shows date in only upper case.
-
- Bit 4 on shows month in 3 characters.
-
- Bit 5 shows Day of week as 3 characters.
-
- Bit 6 controls if Day of week is displayed.
-
- Bit 7 controls if date is shown as MM-DD-YY or MM/DD/YY.
-
- Bit 8 shows date in text. (October 3, 1990).
-
- Default ClockMode is 326.
-
- Category: Display
-
- ClockPos (column,row) ClockPos (column,row) ClockPos (column,row)
- Puts a clock on the screen at location (column,row). The command
- ClockPos 0 0 turns the clock off.
-
- Category: Display
-
- ClosePrinter ClosePrinter ClosePrinter
- In MarxMenu the printer is just another text file. Closing the printer
- is not required for ordinary printing. If you are changing printers you
- need to run ClosePrinter before changing the printer name. The printer
- is automatically opened by MarxMenu any time you print anything.
-
- If you are running Windows or DesqView, closing the printer allows other
- programs to access the printer. So if you are running under any
- multitasking shell, be sure to close the printer when you are done with
- it.
-
- If you are using a network like Novell, ClosePrinter will end the print
- job and send it to the print queue. This avoids the need to wait for
- print capture timouts to take effect.
-
- Closing the printer is good programming practice and will help you stay
- out of trouble. It's like what your mother taught you. "When you're done
- with something, put it away."
-
- See Also: OpenPrinter, PrinterName
-
- Category: Printer
-
-
-
- Computer Tyme MarxMenu Users Manual Page 53
- _______________________________________________________________
-
-
- ClusterSize <drive> : Number ClusterSize <drive> : Number ClusterSize <drive> : Number
- Returns cluster size in bytes.
-
- Example:
- Writeln (ClusterSize 'C')
-
- ClusterSize only looks at the first character of the string for the
- drive letter.
-
- Category: System
-
- CmdLine : String CmdLine : String CmdLine : String
- System string variable that returns the rest of the command line after
- the menu name.
-
- Category: String
-
- CO40 : Number CO40 : Number CO40 : Number
- Returns the number 1. Relates to the DOS Mode CO40 command.
-
- Category: Video
-
- CO80 : Number CO80 : Number CO80 : Number
- Returns the number 3. Relates to the DOS Mode CO80 command.
-
- Category: Video
-
- ColorScreen : Boolean ColorScreen : Boolean ColorScreen : Boolean
- Returns true if screen is a color screen. Note: Running MODE BW80 will
- cause ColorScreen to return false.
-
- Example:
- If ColorScreen
- ;Color
- TextColor( White, Blue )
- Else
- ;Monochrome
- TextColor( White, Black )
- EndIf
- Category: Video
-
-
-
- Computer Tyme MarxMenu Users Manual Page 54
- _______________________________________________________________
-
-
- Comment Comment Comment
- Starts a Comment Block. All text is ignored until EndComment is
- encountered.
-
- Example:
- Comment
- =======================================
-
- Everything between Comment and EndComment is ignored.
-
- =======================================
- EndComment
-
- See Also: EndComment
-
- Category: Misc
-
- Console (On/Off) Console (On/Off) Console (On/Off)
- The command Console Off will disable access to the console.
-
- Category: Display
-
- ConsoleBorderColor (Color,Color) ConsoleBorderColor (Color,Color) ConsoleBorderColor (Color,Color)
- Sets the color of the console border.
-
- Example:
- See Also: ConsolePos
-
- Category: Display
-
- ConsoleHeaderColor (Color,Color) ConsoleHeaderColor (Color,Color) ConsoleHeaderColor (Color,Color)
- Sets the color of the console header.
-
- See Also: ConsolePos
-
- Category: Display
-
- ConsoleInsideColor (Color,Color) ConsoleInsideColor (Color,Color) ConsoleInsideColor (Color,Color)
- Sets the color of the console inside.
-
- See Also: ConsolePos
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 55
- _______________________________________________________________
-
-
- ConsolePos (column,row) ConsolePos (column,row) ConsolePos (column,row)
- Sets the coordinates of the pop-up console menu.
-
- Example:
- ConsoleBorderColor( White,Blue )
- ConsoleHeaderColor( Yellow,Blue )
- ConsoleInsideColor( Yellow,Blue )
- ConsolePos( 5,5 ) ; Column 5, Row 5
-
- Category: Display
-
- Const Const Const
- Creates a constant.
-
- See Also: Var, Shared, Qualifier
-
- Category Variable
-
- Cos (Radians) : Real Cos (Radians) : Real Cos (Radians) : Real
- Returns the CoSine of a real.
-
- Category: Math, Float
-
- CurrentEnvironment CurrentEnvironment CurrentEnvironment
- CurrentEnvironment selects the current environment for use with
- environment access commands.
-
- See Also: ReadEnv SetEnv ReadEnvironment ShellEnvironment
- See Also: ParentEnvironment MasterEnvironment
-
- Category: Environment
-
- CurrentWindow : Number CurrentWindow : Number CurrentWindow : Number
- Returns the number of the current window. All windows are given a unique
- number.
-
- See Also: SetTopWindow
-
- Category: Display
-
- Cursor (On/Off) Cursor (On/Off) Cursor (On/Off)
- MarxMenu automatically turns the cursor on for certain kinds of input.
- Using Cursor Off prevents MarxMenu from turning the cursor on. Cursor On
- reverses this and allows MarxMenu to turn the cursor on when needed.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 56
- _______________________________________________________________
-
-
- CustomBox (String) CustomBox (String) CustomBox (String)
- Selects a Box border using an 8 character string to define the sides and
- the corners.
-
- Example:
- CustomBox ('12345678') ;This will help you figure out what
- ;position matches which side.
-
- See Also: SingleLineBox, DoubleLineBox, BlockBox, NoBoxBorder
-
- Category: Display
-
- Cyan : Number Cyan : Number Cyan : Number
- Returns the number 3.
-
- Category: Color
-
- DateString : String DateString : String DateString : String
- Returns the current date in MM-DD-YY format.
-
- Category: Time, String
-
- Day : Number Day : Number Day : Number
- Returns the day of the month.
-
- Category: Time
-
- DayOfWeek : Number DayOfWeek : Number DayOfWeek : Number
- Returns the day of the week.
-
- 0=SUNDAY
- 1=MONDAY
- 2=TUESDAY
- 3=WEDNESDAY
- 4=THURSDAY
- 5=FRIDAY
- 6=SATURDAY
-
- Category: Time
-
- Dec : Number Dec : Number Dec : Number
- December, Returns the number 12.
-
- Category: MonthName
-
-
-
- Computer Tyme MarxMenu Users Manual Page 57
- _______________________________________________________________
-
-
- Delete (string,pos,count) Delete (string,pos,count) Delete (string,pos,count)
- Deletes characters from string starting at pos for count.
-
- Example:
- String = 'ABCDEFGH'
- Delete(String,2,3)
-
- This leaves a String containing 'ABFGH'
-
- If count exceeds the length of the string, the string is truncated at
- pos.
-
- Another use of Delete is to delete elements of an array.
-
- Delete (Array,Position,Count)
- This works exactly like the delete command for strings. It delete
- elements of an array beginning at Position for Count elements. The
- NumberOfElements is adjusted accordingly.
-
- Example:
- MyArray[1] = "ONE"
- MyArray[2] = "TWO"
- MyArray[3] = "THREE"
- MyArray[4] = "FOUR"
- Delete( MyArray,2,2 )
-
- ;MyArray now contains..
- MyArray[1] = "ONE"
- MyArray[2] = "FOUR"
-
- Category: String, Array
-
- DelFile (Name) DelFile (Name) DelFile (Name)
- Deletes a file by name. FileResult returns a 0 if the file existed and
- the delete was successful.
-
- Example:
- DelFile( 'C:\NOTES\READ.ME' )
- If FileResult = 0
- Writeln( 'C:\NOTES\READ.ME was succesfully deleted!' )
- Else
- Writeln( 'C:\NOTES\READ.ME was un-succesfully deleted!' )
- EndIf
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 58
- _______________________________________________________________
-
-
- Dispose (Variable) Dispose (Variable) Dispose (Variable)
- This command reclaims memory used by a string variable, file variable,
- or an array. If you are doing a lot of data manipulation, you might want
- to reclaim memory space used by arrays you are done with. The disposed
- variable becomes an untyped variable.
-
- Example:
- Loop( 20 )
- MyArray[LoopIndex] = LoopIndex
- If (MyArray[LoopIndex] Mod 2) = 0 ;Check to See Also: if number is odd or even
- Writeln( 'MyArray[' + Str( LoopIndex ) + '] is an EVEN number.' );
- Else
- Writeln( 'MyArray[' + Str( LoopIndex ) + '] is an EVEN number.' );
- EndIf
- EndLoop
- Dispose( MyArray ) ;We're finished with the array so reclaim its memory space.
-
- Category: Memory, Array
-
- DosVersion : Number DosVersion : Number DosVersion : Number
- Returns the major DOS version number.
-
- Category: System
-
- DosVersionString : String DosVersionString : String DosVersionString : String
- Returns the DOS version number as a 4 character string. This function
- always returns 2 places past the decimal point. The form of the string
- is: #.##
-
- Example
- Writeln DosVersionString ;prints 4.01
-
- Category: System, String
-
- DosWindow (on/off) DosWindow (on/off) DosWindow (on/off)
- When you set DosWindow on, MarxMenu will not drop out of the menu system
- when you use the Execute command. It will give you a display of the DOS
- screen within the current window. The program you execute must be a
- well-behaved program like DIR or COPY or some of the other DOS commands
- that talk to the screen through standard file handles.
-
- Category: Execution
-
- DoubleLineBox DoubleLineBox DoubleLineBox
- Selects double line box.
-
- See Also: SingleLineBox, BlockBox, CustomBox, NoBoxBorder
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 59
- _______________________________________________________________
-
-
- DrawBox (column,row,width,height) DrawBox (column,row,width,height) DrawBox (column,row,width,height)
- Draws a box on the screen. The (column) and (row) are the upper left
- corner, (width) and (height) is the box size.
-
- Example:
- Explode On
- Shadow On
- DoubleLineBox
- BoxHeaderColor( Yellow,Red )
- BoxBorderColor( White, Red )
- BoxInsideColor( Yellow,Red )
- InverseColor( Black, Gray )
- CapsColor( Black, Red )
- BoxHeader = ' << Main Menu >> '
- DrawBox( 30,10,40,8 )
-
- DrawBox also creates a logical layer for several display variables.
- These variable include TextColor, InverseColor, CapsColor. It is
- important to use these color control commands AFTER the DrawBox command
- in order to properly restore the colors of the previous DrawBox.
-
- If you call up a box and when it finishes it messes up the colors of the
- previous box, you probably used color control commands BEFORE the
- DrawBox instead of AFTER.
-
- Category: Display
-
- Drives : Number Drives : Number Drives : Number
- Returns the number of drives. This includes drive names that can be
- substituted. Most of the time the answer is 5. This relates to your
- LastDrive = command in your CONFIG.SYS file.
-
- Category: System
-
- DvAppNumber : Number DvAppNumber : Number DvAppNumber : Number
- Returns the DesqView application number or window number.
-
- Category: DesqView
-
- DvFrame (Handle,On/Off) DvFrame (Handle,On/Off) DvFrame (Handle,On/Off)
- Turns the DesqView border frame on or off.
-
- Category: DesqView
-
- DvFreeze (Handle) DvFreeze (Handle) DvFreeze (Handle)
- Freezes a program. The program stops executing.
-
- See Also: DvUnFreeze, DvPifExecute, DvLastHandle
-
- Category: DesqView
-
-
-
- Computer Tyme MarxMenu Users Manual Page 60
- _______________________________________________________________
-
-
- DvHide (Handle) DvHide (Handle) DvHide (Handle)
- Hides all output from program making it invisible. The program still
- continues to run.
-
- See Also: DvUnHide
-
- Category: DesqView
-
- DvKillTask (Handle) DvKillTask (Handle) DvKillTask (Handle)
- Kills a program running under DesqView. The handle is the one returned
- be DvPifExecute in DvLastHandle.
-
- See Also: DvPifExecute
-
- Category: DesqView
-
- DvLastHandle : Number DvLastHandle : Number DvLastHandle : Number
- Returns a number that is associated with a program running under
- DesqView. This number is used to control other programs running under
- DesqView. It is set by DvPifExecute.
-
- See Also: DvPifExecute
-
- Category: DesqView
-
- DvLoaded : Boolean DvLoaded : Boolean DvLoaded : Boolean
- Returns true if DesqView is loaded.
-
- Category: DesqView
-
- DvMoveWindow (Handle,X,Y) DvMoveWindow (Handle,X,Y) DvMoveWindow (Handle,X,Y)
- Moves DesqView window upper left corner to position X,Y.
-
- Category: DesqView
-
- DvMyHandle : Number DvMyHandle : Number DvMyHandle : Number
- Returns the DesqView handle of the current process.
-
- See Also: DvLastHandle
-
- Category: DesqView
-
-
-
- Computer Tyme MarxMenu Users Manual Page 61
- _______________________________________________________________
-
-
- DvPifExecute (Pif File) DvPifExecute (Pif File) DvPifExecute (Pif File)
- Executes another program under DesqView in another window. MarxMenu
- stays resident in its original window. The window executes according to
- the contents of the DesqView PIF file. The PIF file can be specified by
- using the full name. If you leave of the extension, MarxMenu assumes the
- extension DVP. If you pass a two character name, like the two characters
- in the DesqView menus, then MarxMenu will add -PIF.DVP to the name. If
- the PIF file is on the path, MarxMenu will find it.
-
- Warning! DesqView must be loaded to run this command.
-
- Example:
- DvPifExecute 'BD'
- DvPifExecute 'BD-PIF' ;These all execute Big DOS
- DVPifExecute 'BD-PIF.DVP'
-
- The task handle is loaded into a variable named DvLastHandle. When the
- program starts, it becomes the current top program.
-
- See Also: DvLoaded, DvLastHandle
-
- Category: DesqView
-
- DvResizeWindow (Handle,Width,Height) DvResizeWindow (Handle,Width,Height) DvResizeWindow (Handle,Width,Height)
- Changes the size of a DesqView window.
-
- Category: DesqView
-
- DvSetBottom (Handle) DvSetBottom (Handle) DvSetBottom (Handle)
- Sets the program associated with the handle to the bottom of the task
- stack.
-
- See Also: DvSetTop
-
- Category: DesqView
-
- DvSetTop (Handle) DvSetTop (Handle) DvSetTop (Handle)
- Sets the program associated with the handle to be the top running task.
- Using DvMyHandle allows MarxMenu to regain control after starting
- another task.
-
- Example:
- DvSetTop (DvMyHandle)
-
- See Also: DvSetBottom, DvLastHandle
-
- Category: DesqView
-
-
-
- Computer Tyme MarxMenu Users Manual Page 62
- _______________________________________________________________
-
-
- DvUnFreeze (Handle) DvUnFreeze (Handle) DvUnFreeze (Handle)
- UnFreezes a program. The program starts executing again.
-
- See Also: DvFreeze, DvPifExecute, DvLastHandle
-
- Category: DesqView
-
- DvUnHide (Handle) DvUnHide (Handle) DvUnHide (Handle)
- Reverses the effect of DvHide making program output visable again.
-
- See Also: DvHide
-
- Category: DesqView
-
- Else Else Else
- Starts lines executed if a condition is not true.
-
- See Also: If Then Endif
-
- Category: Conditional
-
- EndComment EndComment EndComment
- Ends a comment block.
-
- See Also: Comment
-
- Category: Misc
-
- EndIf EndIf EndIf
- Ends an if statement.
-
- See Also: If Else Then
-
- Category: Conditional
-
- EndLoop EndLoop EndLoop
- Ends a loop statement.
-
- See Also: Loop LoopIndex LoopLimit
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 63
- _______________________________________________________________
-
-
- EndOfFile (FileVar) : Boolean EndOfFile (FileVar) : Boolean EndOfFile (FileVar) : Boolean
- Returns True if you are at the end of the file.
-
- Example:
- Var In
-
- FileAssign (In, 'C:\NOTES\READ.ME')
- FileOpen (In)
- While Not EndOfFile (In)
- Writeln (FileReadLn (In))
- EndWhile
- FileClose (In)
-
- Category: File
-
- EndProc EndProc EndProc
- Ends a Procedure.
-
- See Also: Procedure Return
-
- Category: Misc
-
- EndWhile EndWhile EndWhile
- Ends a While statement.
-
- See Also: While
-
- Category: Conditional
-
- EnvFree : Number EnvFree : Number EnvFree : Number
- Returns the free space in the selected environment.
-
- Category: Environment
-
- EnvSize : Number EnvSize : Number EnvSize : Number
- Returns the size of the selected environment.
-
- Example:
- If EnvSize < 50
- Warning( 'Your envrionment size is less than 20 bytes!!' )
- Endif
-
- Category: Environment
-
- EraseTopWindow EraseTopWindow EraseTopWindow
- Erases the last window created with DrawBox.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 64
- _______________________________________________________________
-
-
- Execute (command string) Execute (command string) Execute (command string)
- This allows you to execute a program without dropping out of MarxMenu.
- MarxMenu remains resident in memory and takes up approximately 100k. No
- batch file will be created by MarxMenu.
-
- This is handy if you have a small program you want to run from the menu
- but don't want to allow for the time required by MarxMenu to create and
- run a batch file. You can also execute some programs in a MarxMenu
- window (See Also: DosWindow). You can also execute a program and examine
- the return code.
-
- This command can be placed in a progression of menu commands without any
- special handling. Under an OnKey statement, you will need to enclose the
- command between a begin and end statement.
-
- Example:
- OnKey 'D'
- |Execute 'C:\DM.COM'
-
- Note: If UseCommand is True or On, MarxMenu will load COMMAND.COM to
- execute your command. If UseCommand is False, MarxMenu will execute your
- file directly without COMMAND.COM. Using COMMAND.COM will execute
- slightly slower, use 3.5k more ram, and allow you to use command lines
- just like you would from the DOS prompt.
-
- COMMAND.COM is required when running internal DOS commands like COPY or
- DIR. It is also required to run batch files.
-
- When UseCommand is off, MarxMenu will search the PATH for the executable
- file.
-
- Not using COMMAND.COM allows you to use the ReturnCode variable to get
- the ERRORLEVEL from the subprogram.
-
- The ClearScreenFirst (On/Off) controls whether MarxMenu will clear the
- screen before you execute.
-
- The PauseAfterExecute (On/Off) allows you to have a pause like the Pause
- command in batch files. That way you can read the screen before it
- restores the MarxMenu screen.
-
- Category: Execution
-
- ExistDir (directory) : Boolean ExistDir (directory) : Boolean ExistDir (directory) : Boolean
- Used to test whether or not a DIRECTORY exists.
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 65
- _______________________________________________________________
-
-
- ExistFile : Boolean ExistFile : Boolean ExistFile : Boolean
- Used to test whether or not a FILE exists.
-
- Category: File
-
- ExistOnPath (string) : String ExistOnPath (string) : String ExistOnPath (string) : String
- Used to search the existing paths for the command to be executed by
- Execute or other function. The program variable must include the full
- filename.
-
- Example:
- OnKey 'D'
- |Execute(ExistOnPath('DM.COM'))
-
- If the file is not found, a null string is returned.
-
- Category: File
-
- ExitCode ExitCode ExitCode
- This can be set so MarxMenu will return an ErrorLevel that can be used
- in a batch file.
-
- Example:
- ExitCode = 100
-
- When MarxMenu exits it will use ErrorLevel 100.
-
- Category: Execution
-
- ExitMenu ExitMenu ExitMenu
- Causes MarxMenu to exit.
-
- Category: Execution
-
- Exp (Real) : Real Exp (Real) : Real Exp (Real) : Real
- Returns the Exponential of a real. Inverse of Ln.
-
- Category: Math, Float
-
- Explode (on/off) Explode (on/off) Explode (on/off)
- Turn exploding windows on/off.
-
- Category: Display
-
- ExplodeDelay (number) ExplodeDelay (number) ExplodeDelay (number)
- Sets the speed of exploding windows. Use this command to adjust the
- speed of the exploding windows. Default is 15.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 66
- _______________________________________________________________
-
-
- False : Boolean False : Boolean False : Boolean
- Returns boolean False.
-
- Category: Boolean
-
- Feb : Number Feb : Number Feb : Number
- February, Returns the number 2.
-
- Category: MonthName
-
- FileAppend (FileVar) FileAppend (FileVar) FileAppend (FileVar)
- Opens a file for access and moves the file pointer to the end of the
- file. File writes will start at the end of the file.
-
- Category: File
-
- FileAssign (FileVar,String) FileAssign (FileVar,String) FileAssign (FileVar,String)
- Assigns a file variable to a file name. Files must be given a name
- before they can be accessed.
-
- Example: FileAssign(BatFile,'MARX.BAT')
-
- BatFile is a variable and after the FileAssign, it becomes a file
- variable. All access to the file is done using the file variable.
-
- If an empty string is passed as the file name, MarxMenu will use the
- standard console file handles.
-
- Category: File
-
- FileAttr (string) : Number FileAttr (string) : Number FileAttr (string) : Number
- Returns file attribute. Can be used on directories also.
-
- Category: File
-
- FileClose (FileVar) FileClose (FileVar) FileClose (FileVar)
- Closes a file and deallocates the memory space used by the file
- variable.
-
- Category: File
-
- FileCreate (FileVar) FileCreate (FileVar) FileCreate (FileVar)
- Creates a new file. If the file exists, it overwrites the old one.
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 67
- _______________________________________________________________
-
-
- FileDate (string) : Number FileDate (string) : Number FileDate (string) : Number
- Returns file date as 32 bit integer. See Also: DOS manual for date
- structure.
-
- Category: File
-
- FileFlush (FileVar) FileFlush (FileVar) FileFlush (FileVar)
- Writes any information that is in the file buffers to disk.
-
- Category: File
-
- FileLog (FileVar,String) FileLog (FileVar,String) FileLog (FileVar,String)
- This is like FileWriteln except that it always seeks the end of the file
- and flushes its buffers after each write. Used for usage tracking.
-
- Category: File
-
- FileOpen (FileVar) FileOpen (FileVar) FileOpen (FileVar)
- Opens a file for access. FileOpen is not needed if you are using the
- ReadTextFile command. The following example copies a text file.
-
- var Inp Out St
-
- FileAssign(Inp,'INPUT.TXT')
- FileOpen(Inp)
- FileAssign(Out,'OUTPUT.TXT')
- FileCreate(Out)
- while not EndOfFile(Inp)
- FileReadln(Inp,St)
- FileWriteln(Out,St)
- endwhile
- FileClose(Inp)
- FileClose(Out)
-
- Category: File
-
- FilePos (FileVar) : Number FilePos (FileVar) : Number FilePos (FileVar) : Number
- Returns the current file position in bytes.
-
- Category: File
-
- FileReadln (FileVar) : String FileReadln (FileVar) : String FileReadln (FileVar) : String
- Reads one line of an open file returning that line as a string.
-
- Example:
- Line3 = FileReadln(BatFile)
-
- Category: File
-
-
-
- Computer Tyme MarxMenu Users Manual Page 68
- _______________________________________________________________
-
-
- FileRename (Old,New) FileRename (Old,New) FileRename (Old,New)
- Renames a file from old name to new. A file may be moved to a new
- directory with this command.
-
- Category: File
-
- FileResult : Number FileResult : Number FileResult : Number
- Returns result code from last file IO. Result codes are the same as
- Turbo Pascal IOResult codes. These codes usually match the errors
- returned in the AX register of DOS commands. 0 indicates no problem.
-
- Category: File
-
- FileSeek (FileVar,Number) FileSeek (FileVar,Number) FileSeek (FileVar,Number)
- Moves the file pointer to a specified place in the file.
-
- Category: File
-
- FileSize (string) : Number FileSize (string) : Number FileSize (string) : Number
- Returns size of file in bytes.
-
- Category: File
-
- FileWrite (FileVar,String) FileWrite (FileVar,String) FileWrite (FileVar,String)
- Writes text to a file.
-
- Category: File
-
- FileWriteln (FileVar,String) FileWriteln (FileVar,String) FileWriteln (FileVar,String)
- Writes text to a file with a carriage return and a line feed.
-
- Category: File
-
- FixPath FixPath FixPath
- This command reads your path command and verifies that all the paths are
- accessable. Any path that isn't accessable is removed from the master
- environment. This can be used on network drives to eliminate searching
- paths on fileservers that are no longer accessable.
-
- Category: Environment
-
- Floppies : Number Floppies : Number Floppies : Number
- Returns number of floppy drives.
-
- Category: System
-
-
-
- Computer Tyme MarxMenu Users Manual Page 69
- _______________________________________________________________
-
-
- ForceExplosion (On/Off) ForceExplosion (On/Off) ForceExplosion (On/Off)
- This changes the explosion status of a window that already exists. This
- allows windows to implode that didn't explode.
-
- Category: Display
-
- ForceExtension (String,Ext) : String ForceExtension (String,Ext) : String ForceExtension (String,Ext) : String
- This command forces a file extension on a string.
-
- Example:
- St = ForceExtension('MAIN.MNU','MRX')
-
- This sets St equal to MAIN.MRX
-
- Category: String
-
- Fraction (Real) : Real Fraction (Real) : Real Fraction (Real) : Real
- Returns the fractional part of a real.
-
- Category: Math, Float
-
- FreeDiskSpace <drive> : Number FreeDiskSpace <drive> : Number FreeDiskSpace <drive> : Number
- Returns free disk space in bytes.
-
- Example:
- Writeln (FreeDiskSpace 'C')
-
- FreeDiskSpace only looks at the first character of the string for the
- drive letter.
-
- Category: System
-
- FreeEMS : Number FreeEMS : Number FreeEMS : Number
- Returns free EMS memory in bytes.
-
- Category: Memory
-
- FreeMemory : Number FreeMemory : Number FreeMemory : Number
- Returns the amount of free memory still available.
-
- Category: Memory
-
- Fri : Number Fri : Number Fri : Number
- Friday, Returns the number 5.
-
- Category: WeekDay
-
-
-
- Computer Tyme MarxMenu Users Manual Page 70
- _______________________________________________________________
-
-
- GotoXY (column,row) GotoXY (column,row) GotoXY (column,row)
- Move cursor to location column,row in current box.
-
- Category: Display
-
- Green : Number Green : Number Green : Number
- Returns the number 2.
-
- Category: Color
-
- Grey : Number Grey : Number Grey : Number
- Returns the number 7.
-
- Category: Color
-
- Hour : Number Hour : Number Hour : Number
- Return the current hour. 24 hour format.
-
- Category: Time
-
- Hundredth : Number Hundredth : Number Hundredth : Number
- Returns the 1/100 of a second from the system clock. Note that the
- system clock timer tick is 1/18 second so don't expect a lot of accuracy
- here.
-
- Category: Time
-
- If If If
- Used for program control.
-
- Usage:
-
- IF (condition) THEN (statement)
-
- IF (condition)
- (statement)
- (statement)
- ELSE
- (statement)
- (statement)
- ENDIF
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 71
- _______________________________________________________________
-
-
- InactiveBox (BoxType) InactiveBox (BoxType) InactiveBox (BoxType)
- This is used to select the type of box border to use when a window is
- not the current window. If any inactive box type is specified, then when
- you execute another DrawBox, the old window's border changes to the
- inactive box type. The inactive window also loses its headers and
- shadows.
-
- Note that InActiveBox must be used BEFORE the DrawBox command.
-
- Example:
- InActiveBox (SingleLineBox) ;switches to single line box if
- inactive.
-
- InactiveBox (NoBoxBorder) ;disables InActive effect.
-
- See Also: InactiveBoxColor
-
- Category: Display
-
- InactiveBoxColor (foreground,background) InactiveBoxColor (foreground,background) InactiveBoxColor (foreground,background)
- Selects the color of the inactive box window. If Black on Black is
- selected, (default), the inactive box color is the same as the active
- box color.
-
- Example:
- BoxBorderColor Yellow Blue
- InActiveBoxColor Brown Blue
-
- See Also: InactiveBox BoxBorderColor
-
- Category: Display
-
- Include (MenuName) Include (MenuName) Include (MenuName)
- This is used to insert the menu code from another file into the menu
- that you are compiling.
-
- Example:
- Include 'DOS.MNU'
-
- This will compile DOS.MNU into your present menu as if that whole file
- were part of the menu you are working on.
-
- This is useful if you have several menus that share common code. By
- moving this common code to a separate file, and using an Include
- statement, you can change the common code and update several menus at
- once.
-
- Changing an include file does not cause MarxMenu to recompile
- automatically like changing the MNU does. You will have to force it to
- compile your menus.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 72
- _______________________________________________________________
-
-
- This can be done several ways. You can type MARXCOMP (menu) or you can
- just type DEL *.MRX which will cause all the menus to recompile the next
- time they are run.
-
- Category: Misc
-
- InputString (String) InputString (String) InputString (String)
- Preloads a string for the Readln command. The next Readln will have the
- InputString on the screen for you to edit or accept. Once Readln
- executes, InputString is cleared to a blank string.
-
- Example:
- InputString = ReadEnv('USERNAME')
- YourName = Readln
-
- Category: Keyboard, String
-
- Insert (InsString,OrigString,Pos) Insert (InsString,OrigString,Pos) Insert (InsString,OrigString,Pos)
- Inserts a string into a string.
-
- Example:
- St = 'ABCDEF'
- Insert('123',St,3)
-
- St will become 'ABC123DEF'
-
- Category: String
-
- InsertMode (On/Off) InsertMode (On/Off) InsertMode (On/Off)
- Turns insert mode on and off for Readln commands.
-
- Category: Keyboard
-
- Int (Real) : Real Int (Real) : Real Int (Real) : Real
- Returns the integer part of a real as a real.
-
- Category: Math, Float
-
- Integer (Real) : Number Integer (Real) : Number Integer (Real) : Number
- Returns the integer part of a real as an integer. The fractional part is
- truncated.
-
- Category: Math, Float
-
- InverseColor (forecolor,backcolor) InverseColor (forecolor,backcolor) InverseColor (forecolor,backcolor)
- Sets colors for inverse bar used with UseArrows command.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 73
- _______________________________________________________________
-
-
- Jan : Number Jan : Number Jan : Number
- January, Returns the number 1.
-
- Category: MonthName
-
- Jul : Number Jul : Number Jul : Number
- July, Returns the number 7.
-
- Category: MonthName
-
- Jun : Number Jun : Number Jun : Number
- June, Returns the number 6.
-
- Category: MonthName
-
- Jump (menu) Jump (menu) Jump (menu)
- Jumps to another menu and does not return to original menu.
-
- Category: Execution
-
- KbdReady : Boolean KbdReady : Boolean KbdReady : Boolean
- Returns true if Key is pressed.
-
- Category: Keyboard
-
- KeySave : String KeySave : String KeySave : String
- Stores your keystrokes that you pressed to get to the menu level where
- you are at. KeySave is passed to DOS using the SET KSV= command to store
- your position in the menu system. To make this work, you must execute
- SavePosition On.
-
- This variable can be set by you to force MarxMenu to return to a place
- in the menu other than where you are. This allows MarxMenu to suggest a
- next step.
-
- See Also: SavePosition
-
- Category: String, Environment, Execution
-
- KillMusic KillMusic KillMusic
- This command stops the music and de-allocates the memory used by the
- music buffer.
-
- Category: Music
-
-
-
- Computer Tyme MarxMenu Users Manual Page 74
- _______________________________________________________________
-
-
- LastKey : String LastKey : String LastKey : String
- LastKey returns the last key that was typed at the keyboard. This can be
- used after a Readln to determine if the ESC key was pressed or perhaps
- the up or down arrow keys.
-
- Sometimes after the press of an ESC key, MarxMenu wants to exit more
- levels than you want it to. This can be controlled by setting LastKey =
- ' ' to stop the abort process.
-
- See Also: Readln
-
- Category: String
-
- LBlue : Number LBlue : Number LBlue : Number
- Light Blue, Returns the number 9.
-
- Category: Color
-
- LCyan : Number LCyan : Number LCyan : Number
- Light Cyan, Returns the number 11.
-
- Category: Color
-
- Left (string,count) : String Left (string,count) : String Left (string,count) : String
- Returns string starting at the beginning for count characters.
-
- Example: Left('ABCDEF',3) returns 'ABC'
-
- Category: String
-
- Length (string) : Number Length (string) : Number Length (string) : Number
- Returns the length of the string.
-
- Category: String
-
- LGreen : Number LGreen : Number LGreen : Number
- Light Green, Returns the number 10.
-
- Category: Color
-
- LGrey : Number LGrey : Number LGrey : Number
- Light Grey, Returns the number 8.
-
- Category: Color
-
- LMag : Number LMag : Number LMag : Number
- Light Magenta, Returns the number 13.
-
- Category: Color
-
-
-
- Computer Tyme MarxMenu Users Manual Page 75
- _______________________________________________________________
-
-
- LMagenta : Number LMagenta : Number LMagenta : Number
- Light Magenta, Returns the number 13.
-
- Category: Color
-
- Ln (Real) : Real Ln (Real) : Real Ln (Real) : Real
- Returns the Natural Logarithm of a real.
-
- Category: Math, Float
-
- Loc (Procedure) Loc (Procedure) Loc (Procedure)
- This returns the location of a procedure for storing in a variable. The
- variable is later executed using the Run command.
-
- See Also: Run
-
- Category: Misc
-
- LockWord (word) LockWord (word) LockWord (word)
- Sets a default word for the console activated keyboard lock.
-
- Category: Display
-
- Loop Loop Loop
- MarxMenu has a looping structure that lets you execute a piece of code a
- specific number of times. It is used as follows:
-
- Example:
- Loop 8
- Writeln 'Pass Number ' LoopIndex
- EndLoop
-
- You start with LOOP (Number) which specifies the number of times to
- execute the code between LOOP and ENDLOOP. There are 2 variables
- available here for loop control. LoopIndex starts at 1 and is
- incremented at each EndLoop. When LoopIndex becomes greater than
- LoopLimit, the loop exits. LoopIndex and LoopLimit refer to the
- innermost loop.
-
- As loops are nested LoopIndexes and LoopLimits are kept in two arrays;
- LoopIndexStack and LoopLimitStack. There is also a variable called
- LoopLevel which points to the current loop parameters.
-
- Thus:
- LoopIndex is the same as LoopIndexStack[LoopLevel]
- LoopLimit is the same as LoopLimitStack[LoopLevel]
-
- You may therefore access outer loop parameters through the loop stacks.
- For instance LoopIndexStack[LoopLevel - 1] would refer to the second
- innermost loop index. LoopIndexStack[1] refers to the outermost loop.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 76
- _______________________________________________________________
-
-
- The loop variables can be read and written to so you can adjust the
- looping parameters while inside the loop. You can even adjust the
- parameters of outer loops.
-
- See Also: EndLoop LoopIndex LoopLimit
-
- Category: Conditional
-
- LoopIndex LoopIndex LoopIndex
- Returns the loop you are in.
-
- See Also: Loop EndLoop LoopLimit
-
- Category: Conditional
-
- LoopLimit LoopLimit LoopLimit
- Returns the upper limit of the loop you are in.
-
- See Also: Loop EndLoop LoopIndex
-
- Category: Conditional
-
- LRed : Number LRed : Number LRed : Number
- Light Red returns the number 12.
-
- Category: Color
-
- Mag : Number Mag : Number Mag : Number
- Magenta, Returns the number 5.
-
- Category: Color
-
- Magenta : Number Magenta : Number Magenta : Number
- Magenta, Returns the number 5.
-
- Category: Color
-
- Mar : Number Mar : Number Mar : Number
- March, Returns the number 3.
-
- Category: MonthName
-
- MarxVersion : String MarxVersion : String MarxVersion : String
- Returns the version number of the MarxMenu you are running.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 77
- _______________________________________________________________
-
-
- MasterEnvironment MasterEnvironment MasterEnvironment
- MasterEnvironment selects the Master Environment for use with
- environment access commands.
-
- See Also: ReadEnv SetEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment
-
- Category: Environment
-
- Max (Num,Num) : Num Max (Num,Num) : Num Max (Num,Num) : Num
- Returns the largest of two numbers or strings.
-
- Category: Math, String, Float
-
- May : Number May : Number May : Number
- May, Returns the number 5.
-
- Category: MonthName
-
- Mem (seg,ofs) : Number Mem (seg,ofs) : Number Mem (seg,ofs) : Number
- Returns byte at memory location seg:ofs.
-
- Category: Memory
-
- MemSize : Number MemSize : Number MemSize : Number
- Returns total memory size in K. (640 = 640k)
-
- Category: Memory
-
- MemW (seg,ofs) : Number MemW (seg,ofs) : Number MemW (seg,ofs) : Number
- Returns word at memory location seg:ofs.
-
- Category: Memory
-
- MenuKeyBuffer MenuKeyBuffer MenuKeyBuffer
- This is an internal MarxMenu variable. It is where the environment
- variable KSV= is read. Characters in this string variable are treated as
- if someone had typed them from the keyboard.
-
- This variable can be set to blank in order to override the effects of
- SET KSV= or can be set to a different value in order to automatically
- make selections as if they were typed in.
-
- See Also: SavePosition, KeySave
-
- Category: Keyboard
-
-
-
- Computer Tyme MarxMenu Users Manual Page 78
- _______________________________________________________________
-
-
- Mid (string,pos,count) : String Mid (string,pos,count) : String Mid (string,pos,count) : String
- Returns a string starting at pos for count.
-
- Example:
- Mid('ABCDEFG',2,3) returns 'CDE'
-
- Category: String
-
- Min (Num,Num) : Num Min (Num,Num) : Num Min (Num,Num) : Num
- Returns the smallest of two numbers or strings.
-
- Category: Math, String, Float
-
- MinorDosVersion : Number MinorDosVersion : Number MinorDosVersion : Number
- Returns the minor DOS version number.
-
- Category: System
-
- Minute : Number Minute : Number Minute : Number
- Returns the current minute.
-
- Category: Time
-
- Mod : Operator Mod : Operator Mod : Operator
- Returns the remainder of the division of two numbers.
-
- Category: Math
-
- ModifyPath ModifyPath ModifyPath
- The MarxMenu directory should be in the search path. This is because if
- you change directories, MarxMenu may not be able to find the menu files.
- MarxMenu will now test the PATH= environment variable before it writes
- the batch file to execute a program. If the MarxMenu path is not
- included, MarxMenu will add the path to the Master Environment if it
- can.
-
- If for some reason you don't want to allow MarxMenu to modify the master
- environment, use the command:
-
- ModifyPath Off
-
- Category: Environment
-
- Mon : Number Mon : Number Mon : Number
- Monday, Returns the number 1.
-
- Category: WeekDay
-
-
-
- Computer Tyme MarxMenu Users Manual Page 79
- _______________________________________________________________
-
-
- Mono : Number Mono : Number Mono : Number
- Returns the number 7. Relates to the DOS Mode MONO command.
-
- Category: Video
-
- Month : Number Month : Number Month : Number
- Returns current month.
-
- Category: Time
-
- Mouse Mouse Mouse
- MarxMenu normally uses the mouse if present. If you don't want to use
- the mouse you can use the command:
-
- Mouse Off
-
- To turn the mouse back on type:
-
- Mouse On
-
- The mouse is actually switched on and off at the point when MarxMenu
- waits at the keyboard for a keypress.
-
- Category: MouseControl
-
- MouseHorizontal (Number) MouseHorizontal (Number) MouseHorizontal (Number)
- Controls the horizontal sensitivity of the mouse. The larger the number,
- the less sensitive the mouse. Default is 25.
-
- See Also: MouseVertical, Mouse
-
- Category: MouseControl
-
- MouseVertical (Number) MouseVertical (Number) MouseVertical (Number)
- Controls the vertical sensitivity of the mouse. The larger the number,
- the less sensitive the mouse. Default is 15.
-
- If you are on a network and want to control the mouse sensitivity
- individually, you can set some environment strings as follows:
-
- Set MouseX=15
- Set MouseY=25
-
- Then in your menu you would include:
-
- If ReadEnv('MouseX') > ''
- MouseHorizontal = Value(ReadEnv('MouseX')
- Endif
-
-
-
- Computer Tyme MarxMenu Users Manual Page 80
- _______________________________________________________________
-
-
- If ReadEnv('MouseY') > ''
- MouseVertical = Value(ReadEnv('MouseY')
- Endif
-
- See Also: MouseHorizontal, Mouse
-
- Category: MouseControl
-
- MoveWindow (Horizontal,Vertical) MoveWindow (Horizontal,Vertical) MoveWindow (Horizontal,Vertical)
- Moves top window. If (Horizontal) is negative motion is left. If
- <Vertical> is negative, motion is up.
-
- Category: Display
-
- MxCmd : String MxCmd : String MxCmd : String
- This is an internal string variable that it written to the environment
- variable MXCMD. This variable can be written to control what MarxMenu
- will write to the Shell Environment. If this variable is written to, it
- overrides anything that MarxMenu automatically writes.
-
- Category: Environment, String, Execution
-
- NetworkVersion : Boolean NetworkVersion : Boolean NetworkVersion : Boolean
- Returns true if you are running the network version of MarxMenu.
-
- Category: Misc
-
- NextWord (String) : String NextWord (String) : String NextWord (String) : String
- This command returns the next logical word of a string variable and
- removes the string from the original string.
-
- Example:
- StringA = 'one two three'
- StringB = NextWord(StringA)
-
- StringB contains 'one'
- StringA contains 'two three'
-
- Category: String
-
- No : Boolean No : Boolean No : Boolean
- Returns the boolean false.
-
- Category: Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 81
- _______________________________________________________________
-
-
- NoBoxBorder NoBoxBorder NoBoxBorder
- Use this command if you don't want a border around the menus.
-
- See Also: SingleLineBox, DoubleLineBox, BlockBox, CustomBox
-
- Category: Display
-
- NoExit NoExit NoExit
- Prevents ESC key from allowing you to exit menu. To exit, you must
- execute the ExitMenu command. This could be password protected.
-
- See Also: ExitMenu
-
- Category: Execution
-
- Not : Operator Not : Operator Not : Operator
- Returns logical Not if operators are boolean; or bitwise Not if
- operators are numeric.
-
- Category: Math, Boolean
-
- NotesLeft : Num NotesLeft : Num NotesLeft : Num
- NotesLeft returns the number of notes left in the music buffer to play.
- The music buffer is self adjusting and can store days worth of music.
-
- Category: Music
-
- NotesPlayed : Num NotesPlayed : Num NotesPlayed : Num
- Returns the number of notes played. If NotesLeft ever reaches 0,
- NotesPlayed also is set to 0.
-
- Category: Music
-
- Nov : Number Nov : Number Nov : Number
- November, Returns the number 11.
-
- Category: MonthName
-
- NovCloseSemaphore (Name) NovCloseSemaphore (Name) NovCloseSemaphore (Name)
- This closes semaphore Name. If there are no other users using this
- semaphore, it is deleted.
-
- Category: Novell
-
- NovConnection : Number NovConnection : Number NovConnection : Number
- This returns the logical connection number to the network. A zero
- indicates that you are not connected.
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 82
- _______________________________________________________________
-
-
- NovConsoleOperator : Boolean NovConsoleOperator : Boolean NovConsoleOperator : Boolean
- This returns true if the user has Console Operator priviledges. This can
- come in handy when you are trying to determine who gets access to the
- command line.
-
- Category: Novell
-
- NovDefaultServer : String NovDefaultServer : String NovDefaultServer : String
- Returns the name of the default file server.
-
- Category: Novell
-
- NovGroupsMembers (Group,Array) NovGroupsMembers (Group,Array) NovGroupsMembers (Group,Array)
- This reads all the members of Group and puts them into an array.
-
- Category: Novell, Array
-
- NovInGroup (Group) : Boolean NovInGroup (Group) : Boolean NovInGroup (Group) : Boolean
- Return true if you are in the group.
-
- Category: Novell
-
- NovLogin (Name,Password) NovLogin (Name,Password) NovLogin (Name,Password)
- This logs you into a file server. It is different than the Novell's
- login program in that it doesn't execute any login scripts. It merely
- gets you in. You can include the preferred server with the name.
-
- Example:
- NovLogin ('TYME/MARC','PASSWORD')
-
- The variable NovResult is set to 0 if sucessful.
-
- Note: If you are using Netware 3.0 or 3.1 you will have to go to the
- server console and type:
-
- SET ALLOW UNENCRYPTED PASSWORDS = ON
-
- Category: Novell
-
- NovLoginName (Connection) : String NovLoginName (Connection) : String NovLoginName (Connection) : String
- This returns the login name of the user at any specified connection.
- This can also be used to see who else is on the network.
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 83
- _______________________________________________________________
-
-
- NovLogout NovLogout NovLogout
- This logs you off the server. Warning! Make sure that you are running
- MarxMenu from a local drive and not the server you are logging out of.
- MarxMenu needs access to overlays within MARXMENU.EXE and a Logout can
- cut off access.
-
- Category: Novell
-
- NovMapDrive (Drive,Directory) NovMapDrive (Drive,Directory) NovMapDrive (Drive,Directory)
- This will map a drive letter to a directory like the Novell MAP
- command does. You may specify volume names and server names.
-
- Example:
- NovMapDrive ('J','TYME2/SYS:PUBLIC\DOS')
-
- Mapping a drive to a nul string ('') deletes the drive map.
-
- Category: Novell
-
- NovMyLoginName : String NovMyLoginName : String NovMyLoginName : String
- This returns the login name of the user.
-
- Category: Novell
-
- NovMyPassword (Password) : Boolean NovMyPassword (Password) : Boolean NovMyPassword (Password) : Boolean
- Novell won't let you read the password, but it will let you guess and
- tell you if you're right. This routine returns true if the password
- passed is the correct password.
-
- Category: Novell
-
- NovOpenSemaphore (Name,Value) NovOpenSemaphore (Name,Value) NovOpenSemaphore (Name,Value)
- This opens semaphore Name and assigns it an initial value. If the
- semaphore already exists, it does nothing.
-
- Category: Novell
-
- NovPreferredServer : String NovPreferredServer : String NovPreferredServer : String
- Returns the name of the preferred file server. This is set with the
- NovSetPreferredServer command.
-
- Category: Novell
-
- NovPrimaryServer : String NovPrimaryServer : String NovPrimaryServer : String
- Returns the name of the primary file server. This is the one you first
- logged into.
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 84
- _______________________________________________________________
-
-
- NovReadGroups (Name,Array) NovReadGroups (Name,Array) NovReadGroups (Name,Array)
- This reads all the groups that Name belongs to and puts them into an
- array.
-
- Category: Novell, Array
-
- NovReadSecurityEquals (Name,Array) NovReadSecurityEquals (Name,Array) NovReadSecurityEquals (Name,Array)
- This reads all the security equivalences that Name belongs to and puts
- them into an array. (This includes groups).
-
- Category: Novell, Array
-
- NovResult : Number NovResult : Number NovResult : Number
- NovResult is a variable like FileResult that returns the success status
- of the previous Novell system call. A zero generally indicates success.
-
- Category: Novell
-
- NovSemaphoreTimeOut NovSemaphoreTimeOut NovSemaphoreTimeOut
- This variable controls the amount of time (in 1/18 seconds) that
- MarxMenu will wait for the value of a semaphore to become not negative.
- The initial value is 50.
-
- Category: Novell
-
- NovSemaphoreUsers (Name) : Number NovSemaphoreUsers (Name) : Number NovSemaphoreUsers (Name) : Number
- This returns the number of users that have the semaphore open.
-
- Category: Novell
-
- NovSemaphoreValue (Name) : Number NovSemaphoreValue (Name) : Number NovSemaphoreValue (Name) : Number
- This returns the value of a semaphore.
-
- Category: Novell
-
- NovServers (Array) NovServers (Array) NovServers (Array)
- This command returns a string array of the file servers you are
- connected to.
-
- Category: Novell, Array
-
- NovSetPreferredServer (Server) NovSetPreferredServer (Server) NovSetPreferredServer (Server)
- Sets the preferred file server. Passing a '' will switch you back to the
- default file server.
-
- Category: Novell
-
-
-
- Computer Tyme MarxMenu Users Manual Page 85
- _______________________________________________________________
-
-
- NovSignalSemaphore (Name) NovSignalSemaphore (Name) NovSignalSemaphore (Name)
- This increments the value of a semaphore. It is used to indicate that
- you are done with a resource and makes it available for the next user.
-
- Category: Novell
-
- NovStationAddress : String NovStationAddress : String NovStationAddress : String
- This returns the stations internetwork address.
-
- Example:
- 254:41 where 254 is the network number and 41 is the node number.
-
- Category: Novell
-
- NovUserInGroup (Name,Group) : Boolean NovUserInGroup (Name,Group) : Boolean NovUserInGroup (Name,Group) : Boolean
- This is used to test if other users are in a group. Returns true is the
- specified user is in the specified group.
-
- Category: Novell
-
- NovWaitOnSemaphore (Name) : Boolean NovWaitOnSemaphore (Name) : Boolean NovWaitOnSemaphore (Name) : Boolean
- This decrements the value of a semaphore and if the value is zero or
- more, returns true. If the value of the semaphore is negative, it
- returns false. This is used to indicate that you are out of whatever you
- are testing for.
-
- Category: Novell
-
- NumberOfElememts (array) : Number NumberOfElememts (array) : Number NumberOfElememts (array) : Number
- This function returns the number of elements in the array.
-
- Category: Array
-
- NumLock : Boolean NumLock : Boolean NumLock : Boolean
- Returns true if Num Lock is on.
-
- Category: System
-
- Oct : Number Oct : Number Oct : Number
- October, Returns the number 10.
-
- Category: MonthName
-
- Off : Boolean Off : Boolean Off : Boolean
- Returns False.
-
- Category: Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 86
- _______________________________________________________________
-
-
- On : Boolean On : Boolean On : Boolean
- Returns True.
-
- Category: Boolean
-
- OnKey (char) OnKey (char) OnKey (char)
- When char is selected, the line(s) following are executed up to the next
- OnKey or end of file. This means that they are written to a BATCH file.
-
- Example:
- Onkey 'W'
- cd\wordstar
- ws
- cd\menu
-
- In the above example if 'W' is selected, MarxMenu will create a
- temporary batch file containing all the lines under the OnKey command.
- All the lines under an OnKey are written literally to the batch file
- with few exceptions. All leading and trailing blanks are stripped.
- String variables are evaluated and their value passed if the name of the
- string variable starts with a '%'.
-
- If a line begins with a '|' (vertical bar), the line is interpreted
- rather than written to a batch file. If a '^Label' is used under an
- OnKey, a jump is made to the 'Label' and interpretation is resumed. This
- is commonly used to jump to a submenu.
-
- Any OnKey statement that causes a batch file to be written to will cause
- the menu to exit. MarxMenu normally will exit with ErrorLevel 0 unless
- an ExitCode is set.
-
- The first blank line under an OnKey ends what that OnKey command does.
-
- Category: Conditional
-
- OnScreenOnly (On/Off) OnScreenOnly (On/Off) OnScreenOnly (On/Off)
- This allows you to restrict selections to only what is actually on the
- screen. Hidden OnKey commands will not execute if this is set on. This
- allows you to limit user selection to the choices on the screen.
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 87
- _______________________________________________________________
-
-
- OpenPrinter OpenPrinter OpenPrinter
- This command opens the printer device. It is not necessary to use this
- command in that it is done automatically whenever you print. But, if you
- are running under a multitasking shell like Windows, it will reserve the
- printer for your task.
-
- If the printer is locked, or if you have specified a file name that
- can't be created, the variable FileResult will contain the DOS error
- code (usually 5 for access denied). A FileResult of 0 indicates success.
-
- See Also: ClosePrinter, FileResult
-
- Category: Printer
-
- OptionSwitch (String1,String2) : Boolean OptionSwitch (String1,String2) : Boolean OptionSwitch (String1,String2) : Boolean
- This command tests if String1 contains the option switch String2. If it
- does, it will remove the switch from String1.
-
- Example:
- String1 = 'Test /A/B/C'
- HasB = OptionSwitch(String1,'B')
-
- HasB will be true.
- String1 will contain 'Test /A/C'
-
- Category: String
-
- Or : Operator Or : Operator Or : Operator
- Returns logical Or if operators are boolean; or bitwise Or if operators
- are numeric.
-
- Category: Math, Boolean
-
- Ord (Char) : Number Ord (Char) : Number Ord (Char) : Number
- Returns the numeric value of an ascii character.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 88
- _______________________________________________________________
-
-
- OverLay (MenuName) OverLay (MenuName) OverLay (MenuName)
- Overlay loads another menu as if that menu were a procedure of the
- current menu. After the overlaid menu exits, control is returned to the
- calling menu at the next line after the overlay command.
-
- Like the Chain command, Overlay is very fast and doesn't require
- MarxMenu to be reloaded.
-
- Example:
- Overlay 'SUBMENU'
-
- I have also added some crude music to MarxMenu. This allows you to play
- simple tunes while your menu is running. The tunes become a background
- task and are interrupt driven. This allows you to play music while doing
- other things.
-
- Category: Execution
-
- ParallelPorts : Number ParallelPorts : Number ParallelPorts : Number
- Returns number of parallel ports.
-
- Category: System
-
- ParamStr (Num) : String ParamStr (Num) : String ParamStr (Num) : String
- Returns the DOS parameter string from the command line. The 0 parameter
- is MARXMENU.EXE. The 1 parameter is the name of the menu file you are
- using. This is like the %1 %2 %3 ... in batch file parameters.
-
- Category: String
-
- ParentEnvironment ParentEnvironment ParentEnvironment
- ParentEnvironment selects the parent environment for use with
- environment access commands.
-
- See Also: ReadEnv SetEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment MasterEnvironment
-
- Category: Environment
-
- Password (Pswd,column,row) Password (Pswd,column,row) Password (Pswd,column,row)
- This command opens up a password box at row and column. The user must
- type the password correctly before the command will execute. The
- password is case sensitive.
-
- Example:
- OnKey 'X'
- |PassWord('shell',4,3)
- COMMAND.COM
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 89
- _______________________________________________________________
-
-
- Path : String Path : String Path : String
- Returns the current path.
-
- Category: String
-
- PauseAfterExecute (On/Off) PauseAfterExecute (On/Off) PauseAfterExecute (On/Off)
- If on, this command causes the message "Press any key to return to
- MarxMenu..." to appear after an execute command is executed.
-
- See Also: Execute:
-
- Category: Execution
-
- Pi : Real Pi : Real Pi : Real
- Returns the value of Pi to 18 digits.
-
- Category: Math, Float
-
- PickFile (FileSpec,column,row,height) : String PickFile (FileSpec,column,row,height) : String PickFile (FileSpec,column,row,height) : String
- Allows you to display a directory of files on the screen from a menu.
- Normally used to display a list of files for the user to choose from.
- Could be used in a command to load a word processor or database. Allows
- selection of the file to be loaded by the word processor or database
- program. The filename can be passed to a percent variable placed in the
- batch file executing the application. See example files on MarxMenu
- distribution disk.
-
- Example: %FileName = PickFile('C:\WORDSTAR\*.DOC',3,4,17)
-
- Notice: The use of a variable with a name that starts with a '%' allows
- the choice to be passed to a batch file for execution.
-
- The three numbers represent the column and row of the upper left corner
- of the box and the height of the box. All DrawBox commands can be used
- here to control the looks of the PickFile window. This includes the
- BoxHeader command.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 90
- _______________________________________________________________
-
-
- PickMany(SourceArray,DestinationArray) PickMany(SourceArray,DestinationArray) PickMany(SourceArray,DestinationArray)
- PickMany displays a string array in the current window and allows you to
- choose as many lines as you want. The chosen lines go into
- DestinationArray.
-
- When the window appears, the space bar toggles the marked status of the
- line. The right arrow sets the marked status and the left arrow resets
- the marked status. Ctrl-Right-Arrow marks all lines, Ctrl-Left-Arrow
- unmarks all lines. The return key accepts the selection and exits. The
- ESC key aborts.
-
- If using a mouse, the left button toggles the mark on the current line.
- The right button accepts and exits.
-
- If no selections are made, the DestinationArray is empty. If ESC is
- pressed, the DestinationArray is left unchanged. You can test LastKey to
- see what was pressed.
-
- Category: String, Array
-
- PickOne (Array) : String PickOne (Array) : String PickOne (Array) : String
- This command displays an array in the current window and lets you pick a
- line and returns the chosen line.
-
- Category: String, Array
-
- PickPosition : Number PickPosition : Number PickPosition : Number
- The variable PickPosition works with the PickOne command. PickPosition
- returns the number of which element in the array was picked.
-
- Category: String, Array
-
- Port (number) : Number Port (number) : Number Port (number) : Number
- Returns the value at the port.
-
- Category: Memory
-
- Pos (substring,string) : Number Pos (substring,string) : Number Pos (substring,string) : Number
- Finds position of substring in string. If substring isn't found, Pos
- returns 0.
-
- Example:
- pos('CD','ABCDE') returns 2
-
- Category: String
-
- Power (Real,Real) : Real Power (Real,Real) : Real Power (Real,Real) : Real
- Raises a real to a given power.
-
- Category: Math, Float
-
-
-
- Computer Tyme MarxMenu Users Manual Page 91
- _______________________________________________________________
-
-
- Pred (number) : Number Pred (number) : Number Pred (number) : Number
- Returns number minus 1.
-
- Category: Math
-
- Print (string) Print (string) Print (string)
- Prints string to the printer with no CR or LF. If there is an error
- printing, the error is returned in FileResult.
-
- Category: Printer
-
- PrinterName (string) PrinterName (string) PrinterName (string)
- Sets the file name for the printer to use. The default name is PRN.
- Other common printer names include: LPT1, LPT2, LPT3, and AUX. You can
- also use filenames to direct printer output to a file.
-
- See Also: ClosePrinter
-
- Category: Printer
-
- Println (String) Println (String) Println (String)
- Prints string to the printer with CR and LF.
-
- See Also: Print
-
- Category: Printer
-
- Procedure (name) Procedure (name) Procedure (name)
- This word begins the definition of a newly named procedure. A procedure
- is like a subroutine. Once the procedure is defined, all you have to do
- to call the procedure is use its name. The procedure definition is
- terminated by the command EndProc.
-
- Example:
-
- Procedure SelectFile
- BoxHeaderColor ForeColor BackColor
- BoxBorderColor Cyan Mag
- BoxInsideColor Yellow Mag
- InverseColor Yellow Red
- %ExecSt = PickFile FileType 4 5 17
- EndProc
-
- Whenever we use the word SelectFile in the menu, all the lines of the
- procedure SelectFile will execute.
-
- See Also: EndProc, Return
-
- Category: Misc
-
-
-
- Computer Tyme MarxMenu Users Manual Page 92
- _______________________________________________________________
-
-
- PullMenu (on/off) PullMenu (on/off) PullMenu (on/off)
- Controls the behavior of pull down menus. Set to on if using
- them. Default is Off.
-
- Category: Display
-
- Qualifier Qualifier Qualifier
- Used to create qualifiers.
-
- See Also: Var, Constant, Shared
-
- Category: Variable
-
- Random : Number Random : Number Random : Number
- The Random command returns random numbers between 0 and +2,000,000,000.
- (2^31). The algorithm has been checked for good uniformity and takes
- advantage of re-seeding itself from random events like the timer
- interrupt and keyboard input.
-
- Category: Math
-
- ReadEnv (string) : String ReadEnv (string) : String ReadEnv (string) : String
- Returns the environment string specified.
-
- Example: PathString = ReadEnv('PATH')
-
- See Also: SetEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment MasterEnvironment
-
- Category: Environment
-
- ReadEnvironment (array) ReadEnvironment (array) ReadEnvironment (array)
- Reads all environment variables into an array.
-
- Example:
- Var Env
- ReadEnvironment( Env )
- ; Env[1] will be the first environment string and
- ; Env[NumberOfElememts(Env)] will be the last. A variable that is
- ; set is LongestLine. LongestLine contains the length of the
- ; longest string variable read.
- Writeln( 'Your current environment variables are:' )
- Loop( NumberOfElements( Env ) )
- Writeln( Env[LoopIndex] )
- EndLoop
- Writeln
- Writeln( 'Your Environment Size is :', Str( EnvSize ) )
- Writeln( 'You are using :', Str( EnvSize - EnvFree ), ' bytes.' )
- Writeln( 'You have :,' Str( EnvFree ), ' bytes free.' )
-
-
-
- Computer Tyme MarxMenu Users Manual Page 93
- _______________________________________________________________
-
-
- See Also: SetEnv ReadEnv ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment MasterEnvironment
-
- Category: Environment, Array
-
- ReadKey : String ReadKey : String ReadKey : String
- Returns the character that is input from the keyboard.
-
- Example:
- Var Key
-
- Repeat
- Writeln( 'Press the <ESC> key to exit this program.' )
- Key = ReadKey
- Until Key = Esc
-
- Category: Keyboard
-
- Readln : String Readln : String Readln : String
- Reads a string from the keyboard.
-
- Example:
- Customer.Name = Readln
- Customer.Number = Value (Readln) ;Converts to an numerical value
- Customer.State = UpperCase (ReadLn)
-
- Category: Keyboard, String
-
- ReadTextFile (FileName,Array) ReadTextFile (FileName,Array) ReadTextFile (FileName,Array)
- This command reads a text file into a string array. It also sets the
- variable LongestLine to the length of the longest line in the file.
-
- Example:
- Var Docs
-
- ReadTextFile('MARXMENU.DOC',Docs)
- ;After the read, Docs[1] becomes the first line of the file.
- ;Docs[NumberOfElements(Docs)] becomes the last line.
- Loop( NumberOfElements( Docs ) )
- ; Convert each line to its uppercase equivalent
- Docs[LoopIndex] = UpperCase( Docs[LoopIndex] )
- EndLoop
- ;Save the newly formatted array
- WriteTextFile( 'NEWMM.DOC', Docs )
-
- Do not use FileOpen with ReadTextFile.
-
-
-
- Computer Tyme MarxMenu Users Manual Page 94
- _______________________________________________________________
-
-
- The power of the ReadTextFile and WriteTextFile have expanded. You can
- now load and save arrays of any variable types, multidimensional arrays,
- and mixed array types. This includes strings, numbers, and booleans.
- File variables are also stored. When a file variable is stored and
- reloaded the FileAssign command is not necessary.
-
- Category: File, Array
-
- Real (Integer) : Real Real (Integer) : Real Real (Integer) : Real
- Returns the real equivalent of an integer.
-
- Category: Math, Float
-
- Reboot Reboot Reboot
- Causes the computer to do a warm reboot.
-
- Category: Execution
-
- Red : Number Red : Number Red : Number
- Returns the number 4.
-
- Category: Color
-
- ReleaseDate : String ReleaseDate : String ReleaseDate : String
- Returns the MarxMenu Release Date.
-
- Category: String
-
- Repeat Repeat Repeat
- Used for program control. Usage:
-
- REPEAT
- (statement)
- (statement)
- UNTIL (condition)
-
- Example:
- Var Key
-
- Repeat
- Key = ReadKey
- If Key = 'A'
- Bat( 'DOLIST.EXE' )
- ExitMenu
- EndIf
- If Key = F1 Then Help
- Until Key = Esc
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 95
- _______________________________________________________________
-
-
- ResizeWindow (Horizontal Vertical) ResizeWindow (Horizontal Vertical) ResizeWindow (Horizontal Vertical)
- Changes the size of the top window. The horizontal and vertical numbers
- are added to the current size. Use negative numbers to shrink the
- window. The top left corner stays in the same place.
-
- Example:
- DrawBox 15 5 30 15
- ResizeWindow 15 5
-
- See Also: MoveWindow
-
- Category: Display
-
- Return (param,param,...) Return (param,param,...) Return (param,param,...)
- Exits a procedure and optionally returns parameters to the calling
- procedure. It can return as many parameters as you want as long as the
- calling program uses the same number of parameters. Otherwise, you will
- get an "Invalid number of parameters" error.
-
- Example:
-
- Procedure SmallRandomNumber
- {Returns a random number between 1 and 100}
- var SmallRand
- SmallRand = Random mod 100
- Return (SmallRand + 1)
- EndProc
-
- See Also: Procedure, EndProc
-
- Category: Misc
-
- ReturnCode : Number ReturnCode : Number ReturnCode : Number
- When you use the Execute function, a ReturnCode value is fed into this
- variable when you return to the menu. The code returned is the same as
- what the DOS ErrorLevel would be. This will not work if you use the
- UseCommand On function because COMMAND.COM would have been loaded and
- the returncode would be lost.
-
- Category: Execution
-
- Right (string,count) : String Right (string,count) : String Right (string,count) : String
- Returns right characters of string for length count.
-
- Example: Right('ABCDEF',3) returns 'DEF'
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 96
- _______________________________________________________________
-
-
- RollWindow (number) RollWindow (number) RollWindow (number)
- Windows can be looked at as a stack. RollWindow will roll a previous
- window to the top of the stack making the previous window the current
- window.
-
- Example:
- ;Make the Third window on the stack the active window
- RollWindow( 3 )
- ;Write out message
- Writeln( 'You have mail waiting!' )
- ;Now put the windows back
- PushBackWindow( 3 )
-
- Procedure PushBackWindow( N )
- ;--
- ;-- Will roll a window back to its original position on the stack
- ;-- The parameter should be the same as the parameter for the call
- ;-- to RollWindow ( If you use RollWindow( 3 ) then use PushBackWindow( 3 ))
- ;--
- Loop( N )
- RollWindow( N )
- EndLoop
- EndProc ;PushBackWindow
-
- Category: Display
-
- Run variable (parameters) Run variable (parameters) Run variable (parameters)
- This runs a procedure that was stored in a variable.
-
- var Y
-
- Procedure WriteSquared (X)
- Writeln (X * X)
- EndProc
-
- Example:
- Y = Loc(WriteSquared)
- Run Y(3) ; This will write a 9 on the screen
-
- Warning! Don't put the variable you are running in parentheses.
-
- Run (Y,3) ; this won't work
-
- See Also: Loc
-
- Category: Misc
-
-
-
- Computer Tyme MarxMenu Users Manual Page 97
- _______________________________________________________________
-
-
- Sat : Number Sat : Number Sat : Number
- Saturday, Returns the number 6.
-
- Category: WeekDay
-
- SavePosition (On/Off) SavePosition (On/Off) SavePosition (On/Off)
- If SavePosition is On, MarxMenu will return to the last menu selection
- you made when MarxMenu is re-entered. As you select menu layers your
- keystrokes are stored in an internal string variable called KeySave. On
- exit, MarxMenu writes KeySave to an environment variable KSV. On return
- to MarxMenu, this variable is retrieved. The return point may be altered
- by using the command KeySave = (string).
-
- Another thing this points out is that environment variables can be used
- to store information and allow MarxMenu to remember things from one
- selection to another. Since MarxMenu doesn't stay memory resident, this
- is the only way I have found to store information.
-
- Category: Keyboard, Environment
-
- ScreenHeight : Number ScreenHeight : Number ScreenHeight : Number
- Returns number of rows of character on your screen.
-
- Category: Display
-
- ScreenWidth : Number ScreenWidth : Number ScreenWidth : Number
- Returns number of columns of character on your screen.
-
- Category: Display
-
- ScrollLock : Boolean ScrollLock : Boolean ScrollLock : Boolean
- Returns true if Scroll Lock is on.
-
- Category: System
-
- ScrollMove (On/Off) ScrollMove (On/Off) ScrollMove (On/Off)
- This allows you to control whether or not the ScrollLock will allow you
- to move the top window. Default is On.
-
- Category: Display
-
- Second : Number Second : Number Second : Number
- Returns the current second.
-
- Category: Time
-
-
-
- Computer Tyme MarxMenu Users Manual Page 98
- _______________________________________________________________
-
-
- Security (on/off) Security (on/off) Security (on/off)
- When security is on, Readln echos '*' instead of the letters that are
- being typed. This is used for such things as entering passwords other
- than using the password command.
-
- Category: String
-
- SelectPath : String SelectPath : String SelectPath : String
- This command uses another program in the Computer Tyme DOS TOOLBOX
- called Pick Directory to read a text into a variable. You must have
- Computer Tyme Pick Directory for this feature to work.
-
- Example:
- OnKey 'B'
- |%BackPath = SelectPath
- cd %BackPath
- backup c: a:
-
- Category: String
-
- Sep : Number Sep : Number Sep : Number
- September, Returns the number 9.
-
- Category: MonthName
-
- SerialPorts : Number SerialPorts : Number SerialPorts : Number
- Returns number of serial ports.
-
- Category: System
-
- SetArraySize (Array,Size) SetArraySize (Array,Size) SetArraySize (Array,Size)
- If the array is larger than Size the array is truncated. If it is
- smaller, memory is allocated for the array.
-
- Category: Array
-
-
-
- Computer Tyme MarxMenu Users Manual Page 99
- _______________________________________________________________
-
-
- SetEnv (String) SetEnv (String) SetEnv (String)
- This is used to set environment strings. It can be used on the Current,
- Parent, Master or Shell environment.
-
- Example:
-
- SetEnv ('PATH=C:\')
- SetEnv ('COMSPEC=X:COMMAND.COM')
-
- MarxMenu also allows you to select which environment you are working
- with. This is done with the following commands.
-
- CurrentEnvironment
- ParentEnvironment
- MasterEnvironment
- ShellEnvironment
-
- See Also: ReadEnv ReadEnvironment ShellEnvironment
- See Also: CurrentEnvironment ParentEnvironment MasterEnvironment
-
- Category: Environment
-
- SetTopWindow (Number) SetTopWindow (Number) SetTopWindow (Number)
- Selects a window by number making it the current window and moves it to
- the top.
-
- Example:
- DrawBox ....
- ThisWindow = CurrentWindow
- DrawBox ....
- DrawBox ....
- SetTopWindow (ThisWindow)
-
- See Also: CurrentWindow
-
- Category: Display
-
- Shadow (on/off) Shadow (on/off) Shadow (on/off)
- Turn window shadows on/off.
-
- Category: Display
-
- ShadowColor (ForeColor,BackColor) ShadowColor (ForeColor,BackColor) ShadowColor (ForeColor,BackColor)
- Sets the color of the shadow. There are actually two shadow colors.
- MarxMenu stores different values for big shadows and small shadows.
-
- See Also: BigShadow, SmallShadow, ShadowPosition, Shadow
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 100
- _______________________________________________________________
-
-
- ShadowPosition (number) ShadowPosition (number) ShadowPosition (number)
- Selects the shadow position around the window. A zero (default) sets the
- shadow position to the bottom right sind. A one sets the shadow position
- to the bottom left. Using ShadowPosition turns shadowing on so a Shadow
- On command is not required.
-
- See Also: Shadow, ShadowColor, BigShadow, SmallShadow
-
- Category: Display
-
- Shared Shared Shared
- The key word SHARED can be used to define variables just like VAR. Any
- variable defined with SHARED is passed globally to and from overlays.
-
- The important thing is that the Shared variables must be defined exactly
- the same way between the overlays. There is also a pre-defined variable
- called COMMON. Technically, Shared variables are qualifiers off of
- COMMON.
-
- See Also: Var, Constant, Qualifier
-
- Category: Variable
-
- ShellEnvironment ShellEnvironment ShellEnvironment
- ShellEnvironment selects the environment of the last COMMAND.COM in
- memory for use with environment access commands. This is usually the
- same as the Master Environment.
-
- More than one COMMAND.COM is loaded when you are running a shell under
- WINDOWS or DESQVIEW. When using these programs, you will want to access
- the Shell Envoronment instead of the Master Environment. The Shell
- Environment is the one that will run batch files.
-
- See Also: ReadEnv SetEnv ReadEnvironment MasterEnvironment
- See Also: CurrentEnvironment ParentEnvironment
-
- Category: Environment
-
- Shl : Operator Shl : Operator Shl : Operator
- Shift left, does a binary 32 bit shift left.
-
- Category: Math
-
- Shr : Operator Shr : Operator Shr : Operator
- Shift right, does a binary 32 bit shift right.
-
- Category: Math
-
-
-
- Computer Tyme MarxMenu Users Manual Page 101
- _______________________________________________________________
-
-
- Sin (Radians) : Real Sin (Radians) : Real Sin (Radians) : Real
- Returns the Sine of a real.
-
- Category: Math, Float
-
- SingleLineBox SingleLineBox SingleLineBox
- Selects single line box for menu borders.
-
- See Also: DoubleLineBox, BlockBox, CustomBox, NoBoxBorder
-
- Category: Display
-
- SmallShadow SmallShadow SmallShadow
- Selects small shadow type.
-
- See Also: BigShadow, ShadowPosition, ShadowColor
-
- Category: Display
-
- Sound (on/off) Sound (on/off) Sound (on/off)
- Turn sound effects on/off.
-
- Category: Display
-
- Sqr (Real) : Real Sqr (Real) : Real Sqr (Real) : Real
- Returns the Square Root of a real.
-
- Category: Math, Float
-
- StandardIO StandardIO StandardIO
- This tells MarxMenu to use standard Input and Output file handles for
- reading the keyboard and writing to the screen.
-
- Category: Display
-
- Str (number) : String Str (number) : String Str (number) : String
- Turns a number into a string.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 102
- _______________________________________________________________
-
-
- StuffAKey (String or Number) StuffAKey (String or Number) StuffAKey (String or Number)
- Stuffs a single key into the DOS keyboard buffer when MarxMenu exits.
- The limit is 16 characters.
-
- Example:
- StuffAKey($3F00) ;stuff the F5 key
- StuffAKey F5 ;same thing
-
- Do not mix StuffAKey with StuffKBD. Use one or the other.
-
- Category: Execution, Keyboard, String
-
- StuffKBD (String) StuffKBD (String) StuffKBD (String)
- Stuffs the string into the DOS keyboard buffer when MarxMenu exits. The
- limit is 16 characters.
-
- Example:
- StuffKBD 'LOGOUT' + CR
-
- Category: Execution, Keyboard, String
-
- StuffKeyboardNow StuffKeyboardNow StuffKeyboardNow
- Normally the keyboard stuffing is done as MarxMenu quits. This forces
- the keyboard to be stuffed immediately.
-
- Category: Keyboard
-
- Succ (number) : Number Succ (number) : Number Succ (number) : Number
- Returns number plus 1.
-
- Category: Math
-
- Suggest (Char) Suggest (Char) Suggest (Char)
- Normally the UseArrows command will start in the upper left hand corner.
- By using the Suggest command, you can set it to start on any menu
- selection.
-
- Example:
- Suggest 'E'
-
- Category: Display
-
- Sun : Number Sun : Number Sun : Number
- Sunday, Returns the number 0.
-
- Category: WeekDay
-
-
-
- Computer Tyme MarxMenu Users Manual Page 103
- _______________________________________________________________
-
-
- TextBackground (color) TextBackground (color) TextBackground (color)
- Sets text background color.
-
- Category: Display
-
- TextColor (forecolor,backcolor) TextColor (forecolor,backcolor) TextColor (forecolor,backcolor)
- Sets the color of text to be displayed on the screen. TextColor resets
- the value of CapsColor.
-
- Category: Display
-
- TextMode (num) TextMode (num) TextMode (num)
- Sets the video text mode.
-
- 0 = 40 column BW
- 1 = 40 column COLOR
- 2 = 80 column BW
- 3 = 80 column COLOR
- 258 = 43/50 line EGA BW
- 259 = 43/50 line EGA COLOR
-
- Example:
- TextMode BW80
-
- Category: Video
-
- TextPos : Number TextPos : Number TextPos : Number
- TextPos returns the current position in a text file. This can be saved
- so that you can go to the same place using TextSeek.
-
- See Also: TextSeek
-
- Category: File
-
- TextSeek (Number) TextSeek (Number) TextSeek (Number)
- TextSeek moves to a specific byte in a text file.
-
- See Also: TextPos
-
- Category: File
-
- Then Then Then
- Conditional control.
-
- See Also: If
-
- Category: Conditional
-
-
-
- Computer Tyme MarxMenu Users Manual Page 104
- _______________________________________________________________
-
-
- Thu : Number Thu : Number Thu : Number
- Thursday, Returns the number 4.
-
- Category: WeekDay
-
- Timer : Number Timer : Number Timer : Number
- Returns the system timer.
-
- Category: Time
-
- TimeString : String TimeString : String TimeString : String
- Returns the time in HH:MM:SS format. 24 hour.
-
- Category: String, Time
-
- Tone (Frequency,Duration) Tone (Frequency,Duration) Tone (Frequency,Duration)
- This command plays a note at Frequency cycles per second for a period of
- Duration 1/18 of a second. The reason it is in 1/18 seconds is because
- there is a standard interrupt that gives me that time period. The IBM
- series computers are not music oriented machines so don't throw away
- your Compact Disk player.
-
- The maximum duration is 255 1/18 of a second. Normally, MarxMenu will
- create a break in between notes equal to 1/8 of the duration of the
- note. If you want to eliminate the break and create a 'slur' (music
- term), add 256 to the duration. This tells MarxMenu to connect the notes
- without a break.
-
- Category: Music
-
- TotalDiskSpace <drive> : Number TotalDiskSpace <drive> : Number TotalDiskSpace <drive> : Number
- Returns total disk space in bytes.
-
- Example:
- Writeln (TotalDiskSpace 'C')
-
- TotalDiskSpace only looks at the first character of the string for
- the drive letter.
-
- Category: System
-
- TotalEMS : Number TotalEMS : Number TotalEMS : Number
- Returns total EMS memory in bytes.
-
- Category: Memory
-
-
-
- Computer Tyme MarxMenu Users Manual Page 105
- _______________________________________________________________
-
-
- Trim (string) Trim (string) Trim (string)
- Trims white space from both ends of a string. White space is
- blank characters and lower.
-
- Category: String
-
- True : Boolean True : Boolean True : Boolean
- Returns boolean true.
-
- Category: Boolean
-
- Tue : Number Tue : Number Tue : Number
- Tuesday, Returns the number 2.
-
- Category: WeekDay
-
- UniqueFileName : String UniqueFileName : String UniqueFileName : String
- Uses the create new file call to get a filename that is different than
- any other file name. It is tied to the DOS call that is used to create a
- unique file name according to the rules of your operating system.
-
- Category: File, String
-
- Until Until Until
- Conditional control.
-
- See Also: Repeat.
-
- Category: Conditional
-
- UpperCase (String) : String UpperCase (String) : String UpperCase (String) : String
- Return UpperCase of String
-
- Category: String
-
- UpperCaseOnly : Boolean UpperCaseOnly : Boolean UpperCaseOnly : Boolean
- Setting UpperCaseOnly to on forces text entered with Readln or ReadKey
- to upper case.
-
- Category: String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 106
- _______________________________________________________________
-
-
- UseArrows UseArrows UseArrows
- UseArrows tells MarxMenu that the selection will be made by moving an
- inverse video bar over the selections. No parameters are required for
- this command to work. It will pick the first line with a capital letter
- as the first menu selection. All text in the window must be indented at
- least one space and there must be one space between the end of the line
- and the right wall of the window. Multiple items on the same line must
- be separated by two or more spaces.
-
- The OnKey selection is triggered by either the first capital letter in
- the selection or by a number from 0 - 9 or some punctuation characters.
- This number or letter will be a different color if you use the CapsColor
- command. (See Also: PULL.MNU for an example).
-
- UseArrows Off will disable this feature.
-
- See Also: ReadKey
-
- Category: Display
-
- UseCommand (on/off) UseCommand (on/off) UseCommand (on/off)
- Used with Execute. Will load COMMAND.COM before running the specified
- program. Not as fast, because the system has to find and load
- COMMAND.COM, then the specified program. The advantage is if COMMAND.COM
- is loaded, it will automatically search the DOS path for the file to be
- executed by the Execute command.
-
- Example:
- OnKey 'D'
- |UseCommand On
- |Execute 'DM'
-
- The default is OFF.
-
- See Also: Execute
-
- Category: Execution
-
- UsedDiskSpace <drive> : Number UsedDiskSpace <drive> : Number UsedDiskSpace <drive> : Number
- Returns used disk space in bytes.
-
- Example:
- Writeln (UsedDiskSpace 'C')
-
- UsedDiskSpace only looks at the first character of the string for the
- dirve letter.
-
- Category: System
-
-
-
- Computer Tyme MarxMenu Users Manual Page 107
- _______________________________________________________________
-
-
- Value (string) : Number Value (string) : Number Value (string) : Number
- Converts String to Number. Leading $ indicates Hex.
-
- Category: String, Math
-
- Var Var Var
- Used to create variables.
-
- See Also: Constant, Shared, Qualifier
-
- Category: Variable
-
- VideoMode : Number VideoMode : Number VideoMode : Number
- Returns Current Video Mode.
-
- Category: Video
-
- VideoPage : Number VideoPage : Number VideoPage : Number
- Returns Current Video Page.
-
- Category: Video
-
- ViewTextFile (Name) ViewTextFile (Name) ViewTextFile (Name)
- This command lets you view a text file in the current window.
-
- Category: Display, File
-
- Volume (drive) Volume (drive) Volume (drive)
- Returns the volume label of the specified drive.
-
- Category: System
-
- Wait (number) Wait (number) Wait (number)
- Delay for a number of 1/100 seconds. Wait 250 delays 2 1/2 seconds.
-
- Category: Misc
-
- WaitOrKbdReady (Number) WaitOrKbdReady (Number) WaitOrKbdReady (Number)
- This command is just like the WAIT command except the wait is aborted by
- pressing any key. Time to wait is in hundredths of a second. This
- command is useful when using MarxMenu to write a running demo.
-
- Category: Keyboard
-
- Wed : Number Wed : Number Wed : Number
- Wednesday, Returns the number 3.
-
- Category: WeekDay
-
-
-
- Computer Tyme MarxMenu Users Manual Page 108
- _______________________________________________________________
-
-
- WhereX : Number WhereX : Number WhereX : Number
- Returns the horizontal position of the cursor within the current window.
-
- Category: Display
-
- WhereXAbs : Number WhereXAbs : Number WhereXAbs : Number
- Returns the horizontal screen position of the cursor.
-
- Category: Display
-
- WhereY : Number WhereY : Number WhereY : Number
- Returns the vertical position of the cursor within the current window.
-
- WhereYAbs : Number WhereYAbs : Number WhereYAbs : Number
- Returns the vertical screen position of the cursor.
-
- Category: Display
-
- While While While
- Used for program control. Usage:
-
- WHILE (condition)
- (statement)
- (statement)
- ENDWHILE
-
- Execution stays in the while loop as long as the condition is true.
-
- See Also: EndWhile
-
- Category: Conditional
-
- White : Number White : Number White : Number
- Returns the number 15.
-
- Category: Color
-
- WindowHeight : Number WindowHeight : Number WindowHeight : Number
- Returns number of rows in current window.
-
- Category: Display
-
- WindowWidth : Number WindowWidth : Number WindowWidth : Number
- Returns number of columns in current window.
-
- Category: Display
-
-
-
- Computer Tyme MarxMenu Users Manual Page 109
- _______________________________________________________________
-
-
- Write (string) Write (string) Write (string)
- Writes (string) on the screen at the current cursor position.
-
- Category: Display
-
- WriteCenter (string) WriteCenter (string) WriteCenter (string)
- Writes (string) centered in current window.
-
- Category: Display
-
- Writeln (string) Writeln (string) Writeln (string)
- Writes (string) on the screen followed by a CR-LF (carriage
- return-line feed).
-
- Category: Display
-
- WritePort (port,number) WritePort (port,number) WritePort (port,number)
- Writes number to port.
-
- Category: Memory
-
- WriteTextFile (FileName,Array) WriteTextFile (FileName,Array) WriteTextFile (FileName,Array)
- This command writes a string array to a text file. Do not use FileCreate
- of any other file commands with this. This command does it all.
-
- See Also: ReadTextFile
-
- Category: File, Array
-
- WriteVertical (string) WriteVertical (string) WriteVertical (string)
- Writes (string) vertically on the screen from the current cursor
- position.
-
- Example:
- WriteVertical( 'Hello' )
-
- ;This would display
- H
- e
- l
- l
- o
-
- Category: Display
-
- Xor : Operator Xor : Operator Xor : Operator
- Returns logical Xor if operators are boolean; or bitwise Xor if
- operators are numeric.
-
- Category: Math, Boolean
-
-
-
- Computer Tyme MarxMenu Users Manual Page 110
- _______________________________________________________________
-
-
- Year : Number Year : Number Year : Number
- Returns current Year.
-
- Category: Time
-
- Yellow : Number Yellow : Number Yellow : Number
- Returns the number 14.
-
- Category: Color
-
- Yes : Boolean Yes : Boolean Yes : Boolean
- Returns True.
-
- COMMAND CATEGORIES COMMAND CATEGORIES COMMAND CATEGORIES
-
- Here is a breakdown of MarxMenu commands by command category. Many
- MarxMenu commands are in several categories. These are the same
- categories as in the MarxHelp utility.
-
- MISC COMMANDS MISC COMMANDS MISC COMMANDS
-
- | | (Vertical Bar)
- ( ( : Operator
- ) ) : Operator
- Alias Alias
- Comment Comment
- EndComment EndComment
- EndProc EndProc
- Include Include (MenuName)
- Loc Loc (Procedure)
- NetworkVersion NetworkVersion : Boolean
- Procedure Procedure (name)
- Return Return (param,param,...)
- Run Run variable (parameters)
- Wait Wait (number)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 111
- _______________________________________________________________
-
-
- MATH COMMANDS MATH COMMANDS MATH COMMANDS
-
- * * : Operator
- + + : Operator
- - - : Operator
- / / : Operator
- < < : Operator
- <= <= : Operator
- <> <> : Operator
- = = : Operator
- > > : Operator
- >= >= : Operator
- Abs Abs : Number
- And And : Operator
- ArcTan ArcTan (Radians) : Real
- Cos Cos (Radians) : Real
- Exp Exp (Real) : Real
- Fraction Fraction (Real) : Real
- Int Int (Real) : Real
- Integer Integer (Real) : Number
- Ln Ln (Real) : Real
- Max Max (Num,Num) : Num
- Min Min (Num,Num) : Num
- Mod Mod : Operator
- Not Not : Operator
- Or Or : Operator
- Pi Pi : Real
- Power Power (Real,Real) : Real
- Pred Pred (number) : Number
- Random Random : Number
- Real Real (Integer) : Real
- Shl Shl : Operator
- Shr Shr : Operator
- Sin Sin (Radians) : Real
- Sqr Sqr (Real) : Real
- Succ Succ (number) : Number
- Value Value (string) : Number
- Xor Xor : Operator
-
-
-
- Computer Tyme MarxMenu Users Manual Page 112
- _______________________________________________________________
-
-
- FLOAT COMMANDS FLOAT COMMANDS FLOAT COMMANDS
-
- * * : Operator
- + + : Operator
- - - : Operator
- / / : Operator
- < < : Operator
- <= <= : Operator
- <> <> : Operator
- = = : Operator
- > > : Operator
- >= >= : Operator
- Abs Abs : Number
- ArcTan ArcTan (Radians) : Real
- Cos Cos (Radians) : Real
- Exp Exp (Real) : Real
- Fraction Fraction (Real) : Real
- Int Int (Real) : Real
- Integer Integer (Real) : Number
- Ln Ln (Real) : Real
- Max Max (Num,Num) : Num
- Min Min (Num,Num) : Num
- Pi Pi : Real
- Power Power (Real,Real) : Real
- Real Real (Integer) : Real
- Sin Sin (Radians) : Real
- Sqr Sqr (Real) : Real
-
- STRING COMMANDS STRING COMMANDS STRING COMMANDS
-
- + + : Operator
- < < : Operator
- <= <= : Operator
- <> <> : Operator
- = = : Operator
- > > : Operator
- >= >= : Operator
- %MenuFileName %MenuFileName : String
- BatFileName BatFileName : String
- BlankMessage BlankMessage (string)
- Char Char (number) : String
- CleanFileName CleanFileName (string) : String
- CmdLine CmdLine : String
- DateString DateString : String
- Delete Delete (string,pos,count)
- DosVersionString DosVersionString : String
- ForceExtension ForceExtension (String,Ext) : String
- InputString InputString (String)
- Insert Insert (InsString,OrigString,Pos)
- KeySave KeySave : String
- LastKey LastKey : String
- Left Left (string,count) : String
-
-
-
- Computer Tyme MarxMenu Users Manual Page 113
- _______________________________________________________________
-
-
- Length Length (string) : Number
- MarxVersion MarxVersion : String
- Max Max (Num,Num) : Num
- Mid Mid (string,pos,count) : String
- Min Min (Num,Num) : Num
- MxCmd MxCmd : String
- NextWord NextWord (String) : String
- OptionSwitch OptionSwitch (String1,String2) : Boolean
- Ord Ord (Char) : Number
- ParamStr ParamStr (Num) : String
- Path Path : String
- PickFile PickFile (FileSpec,column,row,height) : String
- PickMany PickMany(SourceArray,DestinationArray)
- PickOne PickOne (Array) : String
- PickPosition PickPosition : Number
- Pos Pos (substring,string) : Number
- Readln Readln : String
- ReleaseDate ReleaseDate : String
- Right Right (string,count) : String
- Security Security (on/off)
- SelectPath SelectPath : String
- Str Str (number) : String
- StuffAKey StuffAKey (String or Number)
- StuffKBD StuffKBD (String)
- TimeString TimeString : String
- Trim Trim (string)
- UniqueFileName UniqueFileName : String
- UpperCase UpperCase (String) : String
- UpperCaseOnly UpperCaseOnly : Boolean
- Value Value (string) : Number
-
- BOOLEAN COMMANDS BOOLEAN COMMANDS BOOLEAN COMMANDS
-
- And And : Operator
- False False : Boolean
- No No : Boolean
- Not Not : Operator
- Off Off : Boolean
- On On : Boolean
- Or Or : Operator
- True True : Boolean
- Xor Xor : Operator
-
-
-
- Computer Tyme MarxMenu Users Manual Page 114
- _______________________________________________________________
-
-
- MONTHNAME COMMANDS MONTHNAME COMMANDS MONTHNAME COMMANDS
-
- Apr Apr : Number
- Aug Aug : Number
- Dec Dec : Number
- Feb Feb : Number
- Jan Jan : Number
- Jul Jul : Number
- Jun Jun : Number
- Mar Mar : Number
- May May : Number
- Nov Nov : Number
- Oct Oct : Number
- Sep Sep : Number
-
- EXECUTION COMMANDS EXECUTION COMMANDS EXECUTION COMMANDS
-
- Bat Bat (string)
- Chain Chain (MenuName)
- ClearScreenFirst ClearScreenFirst (on/off)
- DosWindow DosWindow (on/off)
- Execute Execute (command string)
- ExitCode ExitCode
- ExitMenu ExitMenu
- Jump Jump (menu)
- KeySave KeySave : String
- MxCmd MxCmd : String
- NoExit NoExit
- Overlay OverLay (MenuName)
- PauseAfterExecute PauseAfterExecute (On/Off)
- Reboot Reboot
- ReturnCode ReturnCode : Number
- StuffAKey StuffAKey (String or Number)
- StuffKBD StuffKBD (String)
- UseCommand UseCommand (on/off)
-
- DISPLAY COMMANDS DISPLAY COMMANDS DISPLAY COMMANDS
-
- BigShadow BigShadow
- BlankTime BlankTime (minutes)
- BlockBox BlockBox
- BoxBorderColor BoxBorderColor (forecolor,backcolor)
- BoxHeader BoxHeader (string)
- BoxHeaderLeft BoxHeaderLeft (string)
- BoxHeaderRight BoxHeaderRight (string)
- BoxHeaderColor BoxHeaderColor (forecolor,backcolor)
- BoxFooter BoxFooter (string)
- BoxFooterLeft BoxFooterLeft (string)
- BoxFooterRight BoxFooterRight (string)
- BoxInsideColor BoxInsideColor (forecolor,backcolor)
- CapsColor CapsColor (forecolor,backcolor)
- ClearLine ClearLine [char]
-
-
-
- Computer Tyme MarxMenu Users Manual Page 115
- _______________________________________________________________
-
-
- ClearScreen ClearScreen [char]
- ClearScreenOnExit ClearScreenOnExit (on/off)
- ClockColor ClockColor (forecolor,backcolor)
- ClockMode ClockMode
- ClockPos ClockPos (column,row)
- Console Console (On/Off)
- ConsoleBorderColor ConsoleBorderColor (Color,Color)
- ConsoleHeaderColor ConsoleHeaderColor (Color,Color)
- ConsoleInsideColor ConsoleInsideColor (Color,Color)
- ConsolePos ConsolePos (column,row)
- CurrentWindow CurrentWindow : Number
- Cursor Cursor (On/Off)
- CustomBox CustomBox (String)
- DoubleLineBox DoubleLineBox
- DrawBox DrawBox (column,row,width,height)
- EraseTopWindow EraseTopWindow
- Explode Explode (on/off)
- ExplodeDelay ExplodeDelay (number)
- ForceExplosion ForceExplosion (On/Off)
- GotoXY GotoXY (column,row)
- InactiveBox InactiveBox (BoxType)
- InactiveBoxColor InactiveBoxColor (foreground,background)
- InverseColor InverseColor (forecolor,backcolor)
- LockWord LockWord (word)
- MoveWindow MoveWindow (Horizontal,Vertical)
- NoBoxBorder NoBoxBorder
- PullMenu PullMenu (on/off)
- ResizeWindow ResizeWindow (Horizontal Vertical)
- RollWindow RollWindow (number)
- ScreenHeight ScreenHeight : Number
- ScreenWidth ScreenWidth : Number
- ScrollMove ScrollMove (On/Off)
- SetTopWindow SetTopWindow (Number)
- Shadow Shadow (on/off)
- ShadowColor ShadowColor (ForeColor,BackColor)
- ShadowPosition ShadowPosition (number)
- SingleLineBox SingleLineBox
- SmallShadow SmallShadow
- Sound Sound (on/off)
- StandardIO StandardIO
- Suggest Suggest (Char)
- TextBackground TextBackground (color)
- TextColor TextColor (forecolor,backcolor)
- UseArrows UseArrows
- ViewTextFile ViewTextFile (Name)
- WhereX WhereX : Number
- WhereXAbs WhereXAbs : Number
- WhereYAbs WhereYAbs : Number
- WindowHeight WindowHeight : Number
- WindowWidth WindowWidth : Number
- Write Write (string)
- WriteCenter WriteCenter (string)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 116
- _______________________________________________________________
-
-
- Writeln Writeln (string)
- WriteVertical WriteVertical (string)
-
- COLOR COMMANDS COLOR COMMANDS COLOR COMMANDS
-
- Black Black : Number
- Blue Blue : Number
- Brown Brown : Number
- Cyan Cyan : Number
- Green Green : Number
- Grey Grey : Number
- LBlue LBlue : Number
- LCyan LCyan : Number
- LGreen LGreen : Number
- LGrey LGrey : Number
- LMag LMag : Number
- LMagenta LMagenta : Number
- LRed LRed : Number
- Mag Mag : Number
- Magenta Magenta : Number
- Red Red : Number
- White White : Number
- Yellow Yellow : Number
-
- VIDEO COMMANDS VIDEO COMMANDS VIDEO COMMANDS
-
- BW40 BW40 : Number
- BW80 BW80 : Number
- CO40 CO40 : Number
- CO80 CO80 : Number
- Mono Mono : Number
- TextMode TextMode (num)
- VideoMode VideoMode : Number
- VideoPage VideoPage : Number
-
- SYSTEM COMMANDS SYSTEM COMMANDS SYSTEM COMMANDS
-
- CapsLock CapsLock : Boolean
- ClusterSize ClusterSize <drive> : Number
- DosVersion DosVersion : Number
- DosVersionString DosVersionString : String
- Drives Drives : Number
- Floppies Floppies : Number
- FreeDiskSpace FreeDiskSpace <drive> : Number
- MinorDosVersion MinorDosVersion : Number
- NumLock NumLock : Boolean
- ParallelPorts ParallelPorts : Number
- ScrollLock ScrollLock : Boolean
- SerialPorts SerialPorts : Number
- TotalDiskSpace TotalDiskSpace <drive> : Number
- UsedDiskSpace UsedDiskSpace <drive> : Number
- Volume Volume (drive)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 117
- _______________________________________________________________
-
-
-
- FILE COMMANDS FILE COMMANDS FILE COMMANDS
-
- ChDir ChDir (string)
- DelFile DelFile (Name)
- EndOfFile EndOfFile (FileVar) : Boolean
- ExistDir ExistDir (directory) : Boolean
- ExistFile ExistFile : Boolean
- ExistOnPath ExistOnPath (string) : String
- FileAppend FileAppend (FileVar)
- FileAssign FileAssign (FileVar,String)
- FileAttr FileAttr (string) : Number
- FileClose FileClose (FileVar)
- FileCreate FileCreate (FileVar)
- FileDate FileDate (string) : Number
- FileFlush FileFlush (FileVar)
- FileLog FileLog (FileVar,String)
- FileOpen FileOpen (FileVar)
- FilePos FilePos (FileVar) : Number
- FileReadln FileReadln (FileVar) : String
- FileRename FileRename (Old,New)
- FileResult FileResult : Number
- FileSeek FileSeek (FileVar,Number)
- FileSize FileSize (string) : Number
- FileWrite FileWrite (FileVar,String)
- FileWriteln FileWriteln (FileVar,String)
- ReadTextFile ReadTextFile (FileName,Array)
- TextPos TextPos : Number
- TextSeek TextSeek (Number)
- UniqueFileName UniqueFileName : String
- ViewTextFile ViewTextFile (Name)
- WriteTextFile WriteTextFile (FileName,Array)
-
- PRINTER COMMANDS PRINTER COMMANDS PRINTER COMMANDS
-
- ClosePrinter ClosePrinter
- OpenPrinter OpenPrinter
- Print Print (string)
- PrinterName PrinterName (string)
- Println Println (String)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 118
- _______________________________________________________________
-
-
- ENVIRONMENT COMMANDS ENVIRONMENT COMMANDS ENVIRONMENT COMMANDS
-
- CurrentEnvironment CurrentEnvironment
- EnvFree EnvFree : Number
- EnvSize EnvSize : Number
- FixPath FixPath
- KeySave KeySave : String
- MasterEnvironment MasterEnvironment
- ModifyPath ModifyPath
- MxCmd MxCmd : String
- ParentEnvironment ParentEnvironment
- ReadEnv ReadEnv (string) : String
- ReadEnvironment ReadEnvironment (array)
- SavePosition SavePosition (On/Off)
- SetEnv SetEnv (String)
- ShellEnvironment ShellEnvironment
-
- TIME COMMANDS TIME COMMANDS TIME COMMANDS
-
- DateString DateString : String
- Day Day : Number
- DayOfWeek DayOfWeek : Number
- Hour Hour : Number
- Hundredth Hundredth : Number
- Minute Minute : Number
- Month Month : Number
- Second Second : Number
- Timer Timer : Number
- TimeString TimeString : String
- Year Year : Number
-
- ARRAY COMMANDS ARRAY COMMANDS ARRAY COMMANDS
-
- Delete Delete (string,pos,count)
- Dispose Dispose (Variable)
- NovGroupMembers NovGroupsMembers (Group,Array)
- NovReadGroups NovReadGroups (Name,Array)
- NovReadSecurityEquals NovReadSecurityEquals (Name,Array)
- NovServers NovServers (Array)
- NumberOfElements NumberOfElememts (array) : Number
- PickMany PickMany(SourceArray,DestinationArray)
- PickOne PickOne (Array) : String
- PickPosition PickPosition : Number
- ReadEnvironment ReadEnvironment (array)
- ReadTextFile ReadTextFile (FileName,Array)
- SetArraySize SetArraySize (Array,Size)
- WriteTextFile WriteTextFile (FileName,Array)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 119
- _______________________________________________________________
-
-
- MEMORY COMMANDS MEMORY COMMANDS MEMORY COMMANDS
-
- Dispose Dispose (Variable)
- FreeEms FreeEMS : Number
- FreeMemory FreeMemory : Number
- Mem Mem (seg,ofs) : Number
- MemSize MemSize : Number
- MemW MemW (seg,ofs) : Number
- Port Port (number) : Number
- TotalEms TotalEMS : Number
- WritePort WritePort (port,number)
-
- DESQVIEW COMMANDS DESQVIEW COMMANDS DESQVIEW COMMANDS
-
- DvAppNumber DvAppNumber : Number
- DvFrame DvFrame (Handle,On/Off)
- DvFreeze DvFreeze (Handle)
- DvHide DvHide (Handle)
- DvKillTask DvKillTask (Handle)
- DvLastHandle DvLastHandle : Number
- DvLoaded DvLoaded : Boolean
- DvMoveWindow DvMoveWindow (Handle,X,Y)
- DvMyHandle DvMyHandle : Number
- DvPifExecute DvPifExecute (Pif File)
- DvResizeWindow DvResizeWindow (Handle,Width,Height)
- DvSetBottom DvSetBottom (Handle)
- DvSetTop DvSetTop (Handle)
- DvUnFreeze DvUnFreeze (Handle)
- DvUnHide DvUnHide (Handle)
-
- CONDITIONAL COMMANDS CONDITIONAL COMMANDS CONDITIONAL COMMANDS
-
- Else Else
- Endif EndIf
- EndLoop EndLoop
- EndWhile EndWhile
- If If
- Loop Loop
- LoopIndex LoopIndex
- LoopLimit LoopLimit
- OnKey OnKey (char)
- OnScreenOnly OnScreenOnly (On/Off)
- Password Password (Pswd,column,row)
- Repeat Repeat
- Then Then
- Until Until
- While While
-
-
-
- Computer Tyme MarxMenu Users Manual Page 120
- _______________________________________________________________
-
-
- WEEKDAY COMMANDS WEEKDAY COMMANDS WEEKDAY COMMANDS
-
- Fri Fri : Number
- Mon Mon : Number
- Sat Sat : Number
- Sun Sun : Number
- Thu Thu : Number
- Tue Tue : Number
- Wed Wed : Number
-
- KEYBOARD COMMANDS KEYBOARD COMMANDS KEYBOARD COMMANDS
-
- InputString InputString (String)
- InsertMode InsertMode (On/Off)
- KbdReady KbdReady : Boolean
- MenuKeyBuffer MenuKeyBuffer
- ReadKey ReadKey : String
- Readln Readln : String
- SavePosition SavePosition (On/Off)
- StuffAKey StuffAKey (String or Number)
- StuffKBD StuffKBD (String)
- StuffKeyboardNow StuffKeyboardNow
- WaitOrKbdReady WaitOrKbdReady (Number)
-
- MUSIC COMMANDS MUSIC COMMANDS MUSIC COMMANDS
-
- KillMusic KillMusic
- NotesLeft NotesLeft : Num
- NotesPlayed NotesPlayed : Num
- Tone Tone (Frequency,Duration)
-
- MOUSECONTROL COMMANDS MOUSECONTROL COMMANDS MOUSECONTROL COMMANDS
-
- Mouse Mouse
- MouseHorizontal MouseHorizontal (Number)
- MouseVertical MouseVertical (Number)
-
-
-
- Computer Tyme MarxMenu Users Manual Page 121
- _______________________________________________________________
-
-
- NOVELL COMMANDS NOVELL COMMANDS NOVELL COMMANDS
-
- NovCloseSemaphore NovCloseSemaphore (Name)
- NovConnection NovConnection : Number
- NovConsoleOperator NovConsoleOperator : Boolean
- NovDefaultServer NovDefaultServer : String
- NovGroupMembers NovGroupsMembers (Group,Array)
- NovInGroup NovInGroup (Group) : Boolean
- NovLogin NovLogin (Name,Password)
- NovLoginName NovLoginName (Connection) : String
- NovLogout NovLogout
- NovMapDrive NovMapDrive (Drive,Directory)
- NovMyLoginName NovMyLoginName : String
- NovMyPassword NovMyPassword (Password) : Boolean
- NovOpenSemaphore NovOpenSemaphore (Name,Value)
- NovPreferredServer NovPreferredServer : String
- NovPrimaryServer NovPrimaryServer : String
- NovReadGroups NovReadGroups (Name,Array)
- NovReadSecurityEquals NovReadSecurityEquals (Name,Array)
- NovResult NovResult : Number
- NovSemaphoreTimeOut NovSemaphoreTimeOut
- NovSemaphoreUsers NovSemaphoreUsers (Name) : Number
- NovSemaphoreValue NovSemaphoreValue (Name) : Number
- NovServers NovServers (Array)
- NovSetPreferredServer NovSetPreferredServer (Server)
- NovSignalSemaphore NovSignalSemaphore (Name)
- NovStationAddress NovStationAddress : String
- NovUserInGroup NovUserInGroup (Name,Group) : Boolean
- NovWaitOnSemaphore NovWaitOnSemaphore (Name) : Boolean
-
- VARIABLE COMMANDS VARIABLE COMMANDS VARIABLE COMMANDS
-
- Qualifier Qualifier
- Shared Shared
- Var Var
-
- STRING AND CHARACTER CONSTANTS STRING AND CHARACTER CONSTANTS STRING AND CHARACTER CONSTANTS
-
- BKSP = #8
- CR = #13
- CRLF = #13#10
- ESC = #27
- FF = #12
- LF = #10
-
-
-
- Computer Tyme MarxMenu Users Manual Page 122
- _______________________________________________________________
-
-
- F1 = #0#59
- F2 = #0#60
- F3 = #0#61
- F4 = #0#62
- F5 = #0#63
- F6 = #0#64
- F7 = #0#65
- F8 = #0#66
- F9 = #0#67
- F10 = #0#68
- F11 = #0#133
- F12 = #0#134
-
- SF1 = #0#84
- SF2 = #0#85
- SF3 = #0#86
- SF4 = #0#87
- SF5 = #0#88
- SF6 = #0#89
- SF7 = #0#90
- SF8 = #0#91
- SF9 = #0#92
- SF10 = #0#93
- SF11 = #0#135
- SF12 = #0#136
-
- CF1 = #0#94
- CF2 = #0#95
- CF3 = #0#96
- CF4 = #0#97
- CF5 = #0#98
- CF6 = #0#99
- CF7 = #0#100
- CF8 = #0#101
- CF9 = #0#102
- CF10 = #0#103
- CF11 = #0#137
- CF12 = #0#138
-
- AF1 = #0#104
- AF2 = #0#105
- AF3 = #0#106
- AF4 = #0#107
- AF5 = #0#108
- AF6 = #0#109
- AF7 = #0#110
- AF8 = #0#111
- AF9 = #0#112
- AF10 = #0#113
- AF11 = #0#139
- AF12 = #0#140
-
-
-
- Computer Tyme MarxMenu Users Manual Page 123
- _______________________________________________________________
-
-
- ALT1 = #0#120
- ALT2 = #0#121
- ALT3 = #0#122
- ALT4 = #0#123
- ALT5 = #0#124
- ALT6 = #0#125
- ALT7 = #0#126
- ALT8 = #0#127
- ALT9 = #0#128
- ALT0 = #0#129
-
- CONDITIONAL STATEMENTS CONDITIONAL STATEMENTS CONDITIONAL STATEMENTS
-
- MarxMenu has a full complement of conditional statements. They are as
- follows:
-
- IF->ELSE->ENDIF Where, IF [condition]
- statement
- statement
- ELSE
- statement
- statement
- ENDIF
-
- IF->THEN Where, IF [condition] THEN statement
-
- REPEAT->UNTIL Where, REPEAT
- statement
- statement
- UNTIL [condition]
-
- WHILE->ENDWHILE Where, WHILE [conditon]
- statement
- statement
- ENDWHILE
-
-
- PROCEDURE->ENDPROC PROCEDURE (name)
- statement
- statement
- ENDPROC
-
-
- LOOP->ENDLOOP LOOP (number)
- statement
- statement
- ENDLOOP
-
-
- Other Computer Tyme Software:
- ======================================================
-
- The Computer Tyme Dos ToolBox... Makes DOS easier for the novice,
- more powerful for the professional.
-
- DIRECTORY MASTER is a powerful hard disk managment utility. It
- brings up your hard disk files and allows you to mark selected
- files so you can copy them, delete them, or move them. It also
- allows you to rename files, change dates, and change attributes.
- You can also run programs or set up your function keys to run
- programs on selected files.
-
- DOLIST makes being at DOS easier. It gives you full line editing,
- like a word processor, for your commands. It also stores commands
- so that you can re-execute them. It remembers subdirectories and
- allows you to go back to them by pressing the TAB key. It offers
- programmable function keys, DOS extensions, multiple execution,
- and many more features you have got to have.
-
- PICK DIRECTORY allows you to move through the directory system by
- displaying a graphic tree and letting you use your arrow keys to
- move around. It also lets you create, delete, rename, and hide
- directories.
-
- TEDIT (from SemWare) is a powerful, easy to use full screen
- editor.
-
- MARXTSR is a set of memory and TSR management utilities that let
- you load and unload TSRs (Terminate and stay resident programs)
- from memory. Utilities to list menory allocation and turn TSR's
- on and off.
-
- And many more ... Also includes is D, a fancy directory listing
- program; WHEREIS, for finding stuff on you hard disk, SORT, MOVE,
- FIND, FREE, PIPEDIR, VERSION, and many more.
-
- The Dos Toolbox sells for $59.95.
-
- ======================================================
-
- We are also selling QEdit from Semware. QEdit is a professional
- editor from Semware. TEdit is a mini version of QEdit. If you
- like TEdit, You'll love QEdit.
-
- 1-800-548-5353 Order Line
- 1-417-866-1222 Voice Line
- 1-417-866-1665 BBS Data line * 1200/2400 * 8N1 * ANSI or VT100
-
- MarxMenu comes with MarxEdit and MARXTSR manager and a few goodies out of
- the DOS ToolBox. The Network Survival Kit is a network version of almost
- every utility I've ever written. It's sold on a per fileserver basis.
-
- _______
- ____|__ | (tm)
- --| | |-------------------
- | ____|__ | Association of
- | | |_| Shareware
- |__| o | Professionals
- -----| | |---------------------
- |___|___| APPROVED VENDOR
-
- ==========================================
-
-
- Make Check Computer Tyme Order Form LO
- Payable To: 411 North Sherman Suite 300
- Springfield Mo. 65802
- (417) 866-1222 (800) 548-5353
-
- Please send me Computer Tyme Software.
-
- =============================================================
-
- Name: ________________________________________________
-
- Address: ________________________________________________
-
- City/St/Zip: ________________________________________________
-
- Phone: ________________________________________________
-
- Computer: ________________________________________________
-
- Got From: ________________________________________________
-
- Comments: ________________________________________________
-
- ________________________________________________
-
-
- Single User Version:
-
- ___ Enclosed is $59.95 for MarxMenu.
-
- ___ Enclosed is $59.95 for the DOS ToolBox.
-
- ___ Enclosed is $99.95 for MarxMenu, the Dos ToolBox and DM3.
-
- Network Version (1 per file server):
-
- ___ Enclosed is $495 for Network Survival Kit.
-
- ___ Add $3.00 for Shipping and Handling.
-
- ___ I need 3 1/2 Inch Media.
-
- =============================================================